--- /dev/null
--- /dev/null
++libpng1.6 (1.6.56-1) unstable; urgency=high
++
++ * New upstream release 1.6.56
++ - .CVE-2026-33416 - Use after free (Closes: #1132012)
++ - CVE-2026-33636 - OOB read/write (Closes: #1132013)
++
++ -- Tobias Frost <tobi@debian.org> Sun, 29 Mar 2026 08:36:13 +0200
++
++libpng1.6 (1.6.55-1) unstable; urgency=medium
++
++ * New upstream version 1.6.55
++ - CVE-2026-25646 (Closes: #1127566)
++ * Bump std-version to 4.7.3, no changes required
++ * Drop R^3: no, default now
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 12 Feb 2026 10:55:21 +0100
++
++libpng1.6 (1.6.54-1) unstable; urgency=medium
++
++ * New upstream version 1.6.54.
++ - CVE-2026-22695 - Heap buffer overread. Closes: #1125443
++ - CVE-2026-22801 - Heap buffer overread. Closes: #1125444
++ * Bump d/copyright years.
++
++ -- Tobias Frost <tobi@debian.org> Fri, 16 Jan 2026 08:49:40 +0100
++
++libpng1.6 (1.6.53-1) unstable; urgency=medium
++
++ * New upstream version 1.6.53.
++
++ -- Tobias Frost <tobi@debian.org> Sun, 07 Dec 2025 11:32:41 +0100
++
++libpng1.6 (1.6.52-1) unstable; urgency=medium
++
++ * New upstream versoin 1.6.52
++ - CVE-2025-66293 - Out of bound read (Closes: #1121877)
++
++ -- Tobias Frost <tobi@debian.org> Thu, 04 Dec 2025 06:24:43 +0100
++
++libpng1.6 (1.6.51-1) unstable; urgency=high
++
++ * New upstream version 1.6.51.
++ - CVE-2025-64505 - Heap buffer overflow. Closes: #1121219
++ - CVE-2025-64506 - Heap buffer overread. Closes: #1121218
++ - CVE-2025-64720 - Buffer overflow. Closes: #1121217
++ - CVE-2025-65018 - Heap buffer. Closes: #1121216
++ * Enable salsa-ci.
++ * Update d/copyright years, remove unused section.
++ * udeb: install library into usr/lib
++
++ -- Tobias Frost <tobi@debian.org> Mon, 24 Nov 2025 21:06:25 +0100
++
++libpng1.6 (1.6.50-1) unstable; urgency=medium
++
++ * Upload to sid
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 10 Aug 2025 18:09:08 +0200
++
++libpng1.6 (1.6.50-1~exp1) experimental; urgency=medium
++
++ * New upstream version 1.6.50
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 10 Aug 2025 18:08:25 +0200
++
++libpng1.6 (1.6.49-1~exp1) experimental; urgency=medium
++
++ * New upstream version 1.6.49
++ * Update copyright file
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 15 Jun 2025 11:32:25 +0200
++
++libpng1.6 (1.6.48-1) unstable; urgency=medium
++
++ * New upstream version 1.6.48
++ * Ack previous NMU, thanks a lot!
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 05 May 2025 21:11:18 +0200
++
++libpng1.6 (1.6.47-1.1) unstable; urgency=high
++
++ * Non-maintainer upload.
++ * Restore dh_makeshlibs override to fix missing udeb line in shlibs.
++ (Closes: #1100477)
++
++ -- Cyril Brulebois <kibi@debian.org> Fri, 14 Mar 2025 10:39:59 +0100
++
++libpng1.6 (1.6.47-1) unstable; urgency=medium
++
++ * New upstream version 1.6.47
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 21 Feb 2025 08:01:34 +0100
++
++libpng1.6 (1.6.46-4) unstable; urgency=medium
++
++ * Team upload.
++
++ [ Jeremy BĂcha ]
++ * Set dpkg-gensymbols check level to 4
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 01 Feb 2025 18:23:23 +0100
++
++libpng1.6 (1.6.46-3) unstable; urgency=medium
++
++ * Add a symbols file for easier maintenance of the package
++ and added symbols
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 01 Feb 2025 08:12:46 +0100
++
++libpng1.6 (1.6.46-2) unstable; urgency=medium
++
++ * Bump shlibs to 1.6.45 due to gtk4 test regression in cICP
++ https://gitlab.gnome.org/GNOME/gtk/-/issues/7275
++ (Closes: #1093335)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 31 Jan 2025 15:10:07 +0100
++
++libpng1.6 (1.6.46-1) unstable; urgency=medium
++
++ * New upstream version 1.6.46
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 27 Jan 2025 09:30:18 +0100
++
++libpng1.6 (1.6.45-1) unstable; urgency=medium
++
++ * New upstream version 1.6.45
++ * Refresh libpng-config.patch
++ * Update copyright years
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 08 Jan 2025 20:56:30 +0100
++
++libpng1.6 (1.6.44-3) unstable; urgency=medium
++
++ [ Gianfranco Costamagna ]
++ * Team upload
++
++ [ Helmut Grohne ]
++ * Disable VSX on legacy powerpc CPUs. (Closes: #1086389)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 10 Dec 2024 22:41:38 +0100
++
++libpng1.6 (1.6.44-2) unstable; urgency=low
++
++ * Switch packaging to cmake
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 17 Sep 2024 11:37:20 +0200
++
++libpng1.6 (1.6.44-1) unstable; urgency=medium
++
++ * New upstream version 1.6.44
++ * Update copyright file
++ * Bump std-version to 4.7.0
++ * Relax dependency on dpkg-dev, to ease backports
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 17 Sep 2024 09:56:14 +0200
++
++libpng1.6 (1.6.43-5) unstable; urgency=medium
++
++ * Fixup doc-base path (Closes: #1065063)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 28 Mar 2024 15:43:50 +0100
++
++libpng1.6 (1.6.43-4) unstable; urgency=medium
++
++ * Fixup udeb naming on shlibs file, making it installable again.
++ (Closes: #1066069)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 28 Mar 2024 12:38:28 +0100
++
++libpng1.6 (1.6.43-3) unstable; urgency=medium
++
++ * B-D on dpkg-dev (>= 1.22.5) (Closes: #1065259)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 02 Mar 2024 11:18:15 +0100
++
++libpng1.6 (1.6.43-2) unstable; urgency=medium
++
++ * Upload to sid
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 28 Feb 2024 12:12:53 +0100
++
++libpng1.6 (1.6.43-1exp1) experimental; urgency=medium
++
++ [ Steve Langasek ]
++ * Rename libraries for 64-bit time_t transition.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 26 Feb 2024 15:47:33 +0100
++
++libpng1.6 (1.6.43-1) unstable; urgency=medium
++
++ * New upstream version 1.6.43
++ * Add new license for contrib tool
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 26 Feb 2024 15:44:38 +0100
++
++libpng1.6 (1.6.42-1) unstable; urgency=medium
++
++ * New upstream version 1.6.42
++ * Update metadata location
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 30 Jan 2024 09:03:50 +0100
++
++libpng1.6 (1.6.41-1) unstable; urgency=medium
++
++ * New upstream version 1.6.41
++ * Bump copyright years
++ * Bump upstream copyright years
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 29 Jan 2024 17:49:45 +0100
++
++libpng1.6 (1.6.40-3) unstable; urgency=medium
++
++ * Update watch file for new github pnggroup location.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 03 Jan 2024 01:37:41 +0100
++
++libpng1.6 (1.6.40-2) unstable; urgency=medium
++
++ * bump std-version to 4.6.2
++ * Bump copyright years
++
++ [ Mathieu Malaterre ]
++ * Drop revision from symbols file (Closes: #1053753)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 10 Oct 2023 17:54:45 +0200
++
++libpng1.6 (1.6.40-1) unstable; urgency=medium
++
++ * New upstream version 1.6.40
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 24 Jun 2023 23:08:19 +0200
++
++libpng1.6 (1.6.39-2) unstable; urgency=medium
++
++ [ Helmut Grohne ]
++ * Support the noudeb build profile. (Closes: #1024944)
++
++ [ Gianfranco Costamagna ]
++ * Upload to sid
++
++ -- Helmut Grohne <helmut@subdivi.de> Sun, 27 Nov 2022 20:59:26 +0100
++
++libpng1.6 (1.6.39-1) unstable; urgency=medium
++
++ * New upstream version 1.6.39. Fixes CVE-2019-6129.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 26 Nov 2022 15:21:15 +0100
++
++libpng1.6 (1.6.38-2) unstable; urgency=medium
++
++ * Add manpages to build
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 21 Sep 2022 14:46:45 +0200
++
++libpng1.6 (1.6.38-1) unstable; urgency=medium
++
++ * New upstream version 1.6.38
++ * Drop all patches, now upstream
++ * Refactor copyright file and bump copyright years
++ * Drop as-needed flag, now default
++ * Add not-installed file
++ * Move installexamples to libpng-dev.examples file
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 21 Sep 2022 12:36:17 +0200
++
++libpng1.6 (1.6.37-5) unstable; urgency=medium
++
++ * debian/patches/eb6767273a4eb5d6f4ad528370d7262cf7aa220c.patch:
++ - cherry-pick upstream fix for memory lieak in png_handle_eXIf function
++ (LP: #1960326)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 25 Apr 2022 19:29:57 +0200
++
++libpng1.6 (1.6.37-4) unstable; urgency=medium
++
++ * Drop apng support, seems to break chromium ability to open
++ apng files (Closes: #1005850).
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 22 Apr 2022 18:48:37 +0200
++
++libpng1.6 (1.6.37-3) unstable; urgency=medium
++
++ [ Debian Janitor ]
++ * Wrap long lines in changelog entries: 1.2.5-5.
++
++ [ Gianfranco Costamagna ]
++ * debian/patches/326.patch:
++ - add upstream proposed patch to fix a decode fail with invalid eXIf
++ chunks (Closes: #969502)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 16 Sep 2020 08:02:32 +0200
++
++libpng1.6 (1.6.37-2) unstable; urgency=medium
++
++ [ Debian Janitor ]
++ * Set upstream metadata fields: Bug-Database, Repository, Repository-
++ Browse.
++ * Rely on pre-initialized dpkg-architecture variables.
++ * Fix day-of-week for changelog entry 1.0.0-0.1.
++ * Set upstream metadata fields: Bug-Submit.
++
++ [ Gianfranco Costamagna ]
++ * Bump std-version to 4.5.0, no changes required
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 07 Feb 2020 20:00:13 +0100
++
++libpng1.6 (1.6.37-1) unstable; urgency=medium
++
++ * Upload to unstable
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 02 Jul 2019 09:38:43 +0200
++
++libpng1.6 (1.6.37-1~exp4) experimental; urgency=medium
++
++ * debian/patches/72fa126446460347a504f3d9b90f24aed1365595.patch:
++ - cherry-pick upstream possible fix for tests not being parallel-safe
++ (Closes: #920657)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 23 Apr 2019 18:04:43 +0200
++
++libpng1.6 (1.6.37-1~exp3) experimental; urgency=medium
++
++ * Fix two lintian warnings:
++ - drop upstream signing key, upstream seems to have stopped tarball
++ signatures when moved to github (see upstream issue: #287)
++ - double "version" tag in debian/watch
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 23 Apr 2019 13:15:04 +0200
++
++libpng1.6 (1.6.37-1~exp2) experimental; urgency=medium
++
++ * Simplify tests, by not passing the .libs directory during their
++ execution
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 15 Apr 2019 12:34:29 +0200
++
++libpng1.6 (1.6.37-1~exp1) experimental; urgency=medium
++
++ * New upstream version 1.6.37
++ - upload to experimental because of freeze
++ * Update watch file for github publish site
++ * Update copyright years and text for pngminus
++ * Drop all upstream patches, patch refresh for apng patch
++ * Bump compat level to 12
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 15 Apr 2019 10:36:39 +0200
++
++libpng1.6 (1.6.36-6) unstable; urgency=medium
++
++ * Upload to unstable
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 08 Apr 2019 10:55:25 +0200
++
++libpng1.6 (1.6.36-5exp1) experimental; urgency=medium
++
++ * Drop Anibal from uploaders list,
++ thank you for your nice work! (Closes: #925014)
++ * Update copyright years.
++ * Drop patch 272.patch, superseeded by upstream commits:
++ 70d122aac42933ab8a708c538f973c3307853212.patch (uncommented)
++ 82ae623ec9bc3cb5c68aad22596a766e86d593b7.patch
++ a627bd26a375f5c41d54f90a47c838157d1bec97.patch
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 20 Mar 2019 11:58:35 +0100
++
++libpng1.6 (1.6.36-5) unstable; urgency=medium
++
++ * Tweak old 272 patch to add the only relevant part of commit
++ 70d122aac42933ab8a708c538f973c3307853212.patch
++ * Drop 70d122aac42933ab8a708c538f973c3307853212.patch, it breaks the
++ testsuite.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 05 Feb 2019 12:54:50 +0100
++
++libpng1.6 (1.6.36-4) unstable; urgency=high
++
++ * debian/patches/70d122aac42933ab8a708c538f973c3307853212.patch,
++ debian/patches/8439534daa1d3a5705ba92e653eda9251246dd61.patch:
++ - new fixes for arm64 and general test failures (and leaks)
++ * debian/patches/CVE-2019-7317.patch:
++ - fix for CVE 2019-7317 (Closes: #921355)
++ Thanks Salvatore Bonaccorso for your report!
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 05 Feb 2019 11:43:24 +0100
++
++libpng1.6 (1.6.36-3) unstable; urgency=medium
++
++ * debian/patches/272.patch:
++ - upstream fix for arm64 test failures.
++ - drop previous revert-* patches
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 31 Dec 2018 09:24:07 +0100
++
++libpng1.6 (1.6.36-2) unstable; urgency=medium
++
++ * Update watch file for github location
++ * Add apng support, like what is done in arch linux
++ - https://github.com/glennrp/libpng/issues/267
++ * d/p/revert-{7734cda20cf1236aef60f3bbd2267c97bbb40869,
++ 1ceaa83a844cd3ecef25279d60720f910b96f297,
++ b66ed711315c46ef6c556c83c0074ecdcbd9937f}.patch:
++ revert on arm64 only the chromebook optimizations, they are
++ making the build fail.
++ - discussion at https://github.com/glennrp/libpng/issues/266
++ [ Mattia Rizzolo ]
++ * Fixup std-version numbering
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 28 Dec 2018 14:13:52 +0100
++
++libpng1.6 (1.6.36-1) unstable; urgency=medium
++
++ * New upstream version 1.6.36
++ * update copyright file
++ * Bump std-version to 4.3.0.1, no changes required
++ * drop patch 8a057: upstream
++ * Add nocheck profile in rules file
++
++ [ Ondřej Nový <onovy@debian.org> ]
++ * d/changelog: Remove trailing whitespaces
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 27 Dec 2018 13:47:10 +0100
++
++libpng1.6 (1.6.34-2) unstable; urgency=medium
++
++ [ Salvatore Bonaccorso ]
++ * debian/patches/8a05766cb74af05c04c53e6c9d60c13fc4d59bf2.patch:
++ Closes: #903430
++ CVE-2018-13785
++
++ [ Gianfranco Costamagna ]
++ * Upload to unstable
++ * Switch VCS fields to salsa.d.o
++ * Bump std-version to 4.1.5, no changes required
++ * Switch copyright in https mode
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 10 Jul 2018 13:17:30 +0200
++
++libpng1.6 (1.6.34-1) unstable; urgency=medium
++
++ * New upstream version 1.6.34
++ * Remove files removed upstream (the failing png files)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 29 Sep 2017 18:54:51 +0200
++
++libpng1.6 (1.6.33-1) unstable; urgency=medium
++
++ * New upstream version 1.6.33
++ * Drop idat patch: upstream
++ * Update copyright
++ * Bump std-version to 4.1.1
++ * Remove some new test png files that make testsuite fail
++ (they fail also on older libpng version, just they weren't available
++ status is tracked at https://sourceforge.net/p/libpng/bugs/271/ )
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 29 Sep 2017 08:44:54 +0200
++
++libpng1.6 (1.6.32-3) unstable; urgency=high
++
++ * Fix invalid IDAT images, thanks Felix Geyer for the debug/bug reassign!
++ (Closes: #876563)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 26 Sep 2017 10:15:08 +0200
++
++libpng1.6 (1.6.32-2) unstable; urgency=medium
++
++ * Bump std-version to 4.1.0, now priority is extra
++ * Add missing newline on copyright entry, making lintian sad
++ * Move the examples into the main libpng-dev (Closes: #876244)
++ - thanks Helmut Grohne for the useful bug report!
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 17 Sep 2017 10:37:44 +0200
++
++libpng1.6 (1.6.32-1) unstable; urgency=medium
++
++ * New upstream version 1.6.32
++ * Update copyright file
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 26 Aug 2017 23:43:31 +0200
++
++libpng1.6 (1.6.31-1) unstable; urgency=medium
++
++ * New upstream release.
++ * Update d/watch to point to ftp site and to verify gpg signature.
++ * fix-arm-build.patch removed, fixed upstream.
++ * Update d/copyright (years and add new maintainers) and remove some
++ redudant entries.
++
++ -- Tobias Frost <tobi@debian.org> Fri, 04 Aug 2017 07:10:47 +0200
++
++libpng1.6 (1.6.30-2) unstable; urgency=medium
++
++ * Fix arm* build failures with upstream patch
++ (Closes: #867670)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 09 Jul 2017 01:02:17 +0200
++
++libpng1.6 (1.6.30-1) unstable; urgency=medium
++
++ * New upstream release.
++ * Update copyright
++ * Bump std-version to 4.0.0
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 08 Jul 2017 12:52:44 +0200
++
++libpng1.6 (1.6.29-3) unstable; urgency=medium
++
++ * Upload to unstable
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 12 Jun 2017 11:22:51 +0200
++
++libpng1.6 (1.6.29-2) experimental; urgency=medium
++
++ * Enable PIE eveywhere
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 22 Apr 2017 14:46:34 +0200
++
++libpng1.6 (1.6.29-1) experimental; urgency=medium
++
++ * New upstream release.
++ - Drop fix multiarch patch: upstream
++ * Use autoreconf.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 10 Apr 2017 08:39:26 +0200
++
++libpng1.6 (1.6.28-1exp4) experimental; urgency=medium
++
++ * Override autoreconf due to debhelper bug 844504
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 02 Mar 2017 16:29:47 +0100
++
++libpng1.6 (1.6.28-1exp3) experimental; urgency=medium
++
++ * No-autoreconf for cmake builds
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 02 Mar 2017 16:14:47 +0100
++
++libpng1.6 (1.6.28-1exp2) experimental; urgency=medium
++
++ * Readd multiarch patch, it was merged by
++ upstream on master but not on 1.6 branch
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 02 Mar 2017 15:07:10 +0100
++
++libpng1.6 (1.6.28-1exp1) experimental; urgency=medium
++
++ * Switch to cmake
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 09 Jan 2017 19:53:06 +0100
++
++libpng1.6 (1.6.28-1) unstable; urgency=medium
++
++ * New upstream release.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 09 Jan 2017 19:50:31 +0100
++
++libpng1.6 (1.6.27-1) unstable; urgency=medium
++
++ * New upstream release (Closes: #849799)
++ - Fix for CVE-2016-10087
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 31 Dec 2016 08:51:32 +0100
++
++libpng1.6 (1.6.26-6) unstable; urgency=medium
++
++ * Enable pie in Debian, disable it in Ubuntu.
++ - thanks pochu :)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 08 Dec 2016 17:03:30 +0100
++
++libpng1.6 (1.6.26-5) unstable; urgency=medium
++
++ * Revert cmake switch, failing on arm64.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 07 Dec 2016 08:41:24 +0100
++
++libpng1.6 (1.6.26-4) unstable; urgency=low
++
++ * Upload to unstable.
++ * Disable pie where Ubuntu has not defaulted yet.
++ (armhf, arm64, powerpc)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 15 Nov 2016 20:50:40 +0100
++
++libpng1.6 (1.6.26-3) experimental; urgency=medium
++
++ * Switch to cmake.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 15 Nov 2016 20:50:40 +0100
++
++libpng1.6 (1.6.26-2) unstable; urgency=medium
++
++ * Enable full hardening (+pie) (Closes: #844429)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 15 Nov 2016 18:10:16 +0100
++
++libpng1.6 (1.6.26-1) unstable; urgency=low
++
++ * New upstream release.
++ * Switch to compat level 10
++ - Drop autoreconf/parallel, automatically injected
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Mon, 24 Oct 2016 19:36:32 +0200
++
++libpng1.6 (1.6.25-2) unstable; urgency=medium
++
++ * Mark the -tools package Multi-Arch: foreign.
++ (Closes: #840446).
++ Thanks Francois Gourget for the bug report!
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 11 Oct 2016 19:13:50 +0200
++
++libpng1.6 (1.6.25-1) unstable; urgency=medium
++
++ * New upstream release.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Tue, 06 Sep 2016 12:29:51 +0200
++
++libpng1.6 (1.6.24-2) unstable; urgency=medium
++
++ * Stop providing pngcp, because a tool with the same
++ name is provided by pngtools (Closes: #834119, #834118).
++ - Consider re-enabling it if ineeded, but for now the
++ tool has no manpage and no help command.
++ - An alternative might be to make pngtools and libpng-tools
++ conflict each others.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Fri, 12 Aug 2016 10:35:50 +0200
++
++libpng1.6 (1.6.24-1) unstable; urgency=medium
++
++ * New upstream release.
++ - install also new pngcp tool in libpng-tools package.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 11 Aug 2016 23:14:13 +0200
++
++libpng1.6 (1.6.23-1) unstable; urgency=medium
++
++ * New upstream release.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 15 Jun 2016 16:41:46 +0200
++
++libpng1.6 (1.6.22-1) unstable; urgency=medium
++
++ * New upstream release.
++ - drop fix_define_PNG_READ_16_TO_8.patch: upstream
++ * Update copyright file.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sun, 05 Jun 2016 23:41:22 +0200
++
++libpng1.6 (1.6.21-5) unstable; urgency=medium
++
++ * d/control: Add VCS-* to repository on collab-maint.
++ * Add patch to properly define PNG_READ_16_TO_8_SUPPORTED (Closes: #824014)
++ * Add d/gbp.conf to ensure signed tags.
++
++ -- Tobias Frost <tobi@debian.org> Wed, 11 May 2016 19:30:16 +0200
++
++libpng1.6 (1.6.21-4) unstable; urgency=medium
++
++ * add libpng-config.patch from the old
++ src:libpng.
++ - disabling multiarch bits in libpng-config has
++ the "side-effect" to let us have a Multiarch libpng-dev package.
++ Closes: #822297
++ * Make the libpng-dev package Multiarch ready.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Sat, 23 Apr 2016 09:04:06 +0200
++
++libpng1.6 (1.6.21-3) unstable; urgency=medium
++
++ [ Manuel A. Fernandez Montecelo ]
++ * Add hardening flags (excluding PIE. CLoses: #805822)
++
++ [ Gianfranco Costamagna ]
++ * Drop useless pre-depends line.
++
++ [ Bart Martens ]
++ * Fix watch file
++
++ [ Laurent Bigonville ]
++ * Drop useless packages in Replaces field. (Closes: #820887)
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 13 Apr 2016 08:49:30 +0200
++
++libpng1.6 (1.6.21-2) unstable; urgency=medium
++
++ * Upload to unstable.
++ * Add myself and Tobias to uploaders, as per maintainers
++ suggestion.
++ * Bump std-version to 3.9.8, no changes required.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 06 Apr 2016 17:26:38 +0200
++
++libpng1.6 (1.6.21-1) experimental; urgency=medium
++
++ * Team upload.
++ * New upstream release.
++ * Add upstream signing key
++ * Fix watch file.
++ * Update copyright file.
++ * Drop libpng16-devtools, useless and merged in libpng-dev.
++ (many packages relies on that script for building correctly)
++ - breaks + replaces accordingly.
++ * Remove multiarch -dev package
++ * Rename libpng16-tools to libpng-tools, there is no need of
++ strict versioning here.
++ * Install upstream changelog.
++ * Run upstream testsuite.
++ * Remove README.* files, useless now.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Thu, 31 Mar 2016 14:43:03 +0200
++
++libpng1.6 (1.6.20-3) experimental; urgency=medium
++
++ * Team upload
++ * Move libpng16-dev to libpng-dev, to ease next transitions.
++ * Drop conflicts against mzscheme, pngcrush, pngmeta,
++ povray-3.5, qemacs, some of them disappeared, some of
++ them have later versions already in old-oldstable.
++ * Simplify even more the packaging, probably fixing #813288
++ * Fix symlinks, and two lintian errors:
++ - library-in-root-and-usr
++ - old-style-config-script-multiarch-path
++ (multiarch: no for libpng16-devtools)
++ * Update standard-version to 3.9.7, no changes required.
++ * Switch to dh-autoreconf (Closes: #813027)
++ * Remove libpng16-devtools circular dependency, recommend it instead.
++ * Fix duplicate description lintian warning
++ * Fix copyright lintian warnings
++ * Remove copyright.in file
++ * Use new plain dh calls in rules file
++ * Remove some old lintian overrides.
++
++ -- Gianfranco Costamagna <locutusofborg@debian.org> Wed, 16 Mar 2016 17:05:08 +0100
++
++libpng1.6 (1.6.20-2) experimental; urgency=medium
++
++ [ Tobias Frost ]
++ * libpng16-16-udeb should not Conflicts: libpng-12-0.
++
++ [ Anibal Monsalve Salazar ]
++ * debhelper compat version is 9.
++ * debian/control: libpng16-devtools is "Multi-Arch: same".
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 28 Jan 2016 10:33:54 +0000
++
++libpng1.6 (1.6.20-1.1) experimental; urgency=medium
++
++ * Non-maintainer upload.
++ * Preparation for the transition, going to experimental.
++ * Make libpng16-dev depend on libpng16-devtools to have libpng-config
++ pulled in automatically for reverse dependencies.
++ * Provide a so-name neutral devtools package
++
++ -- Tobias Frost <tobi@debian.org> Sun, 24 Jan 2016 11:26:12 +0100
++
++libpng1.6 (1.6.20-1) experimental; urgency=medium
++
++ * New upstream release.
++ Fix CVE-2015-8472.
++ Closes: #810074.
++ * Use default options to compress.
++ Remove debian/source/options.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 07 Jan 2016 23:35:21 +0000
++
++libpng1.6 (1.6.19-1) experimental; urgency=medium
++
++ * New upstream release.
++ * Update lintian-overrides for 1.6.19.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 18 Nov 2015 13:07:21 +0900
++
++libpng1.6 (1.6.16-1) experimental; urgency=medium
++
++ * New upstream release (Closes: #773823)
++ Fix CVE-2015-8540.
++ * Standards Version is 3.9.6.
++ * Update debian/copyright.
++ Add infomation of license for other all files.
++ * Update lintian-overrides for 1.6.16.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Sat, 07 Mar 2015 18:33:32 +0900
++
++libpng1.6 (1.6.10-2) experimental; urgency=low
++
++ * Add libpng16-devtools package.
++ Move libpng-config to this package.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 02 Apr 2014 09:16:13 +0900
++
++libpng1.6 (1.6.10-1) experimental; urgency=low
++
++ * New upstream release (Closes: #740585)
++ Fixed CVE-2014-0333.
++ * Update overrides files.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Sat, 22 Mar 2014 09:58:12 +0900
++
++libpng1.6 (1.6.8-2) experimental; urgency=low
++
++ * Update debian/copyright. (Closes: #735737)
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 21 Jan 2014 08:59:56 +0900
++
++libpng1.6 (1.6.8-1) experimental; urgency=low
++
++ * New upstream release.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 15 Jan 2014 13:10:28 +0900
++
++libpng1.6 (1.6.7-1) experimental; urgency=low
++
++ * New upstream release.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Tue, 14 Jan 2014 15:21:52 +0900
++
++libpng (1.5.11-1) experimental; urgency=low
++
++ * New upstream release.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 05 Jul 2012 13:18:14 +0900
++
++libpng (1.5.10-3) experimental; urgency=low
++
++ * Remove libpng12-dev binary package. libpng-dev provides and replaces
++ libpng12-dev.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 19 May 2012 18:55:25 +1000
++
++libpng (1.5.10-2) experimental; urgency=low
++
++ * Add transition packages libpng3, libpng12-0 and libpng12-dev
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Fri, 18 May 2012 10:09:24 +1000
++
++libpng (1.5.10-1) experimental; urgency=high
++
++ * New upstream version 1.5.10
++ - Fix CVE-2011-3048 (memory corruption flaw)
++ Closes: 667475
++ * Standards Version is 3.9.3
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Mon, 09 Apr 2012 13:29:39 +1000
++
++libpng (1.5.9-1) experimental; urgency=low
++
++ * New upstream version 1.5.9
++
++ The purpose of this release is to fix the dangerous CVE-2011-3026.
++ The libpng patch is different from the one that was distributed
++ earlier by Chromium, in that the libpng user limit feature is not
++ crippled by the patch.
++
++ Remove 02-660026-CVE-2011-3026.patch
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 19 Feb 2012 12:22:43 +1100
++
++libpng (1.5.8-1) experimental; urgency=high
++
++ * New upstream release.
++ Fix a one-byte (stack) buffer-overrun bug in
++ png_formatted_warning(), which could lead to crashes (denial of
++ service) or, conceivably, execution of hostile code.
++ This vulnerability has been assigned ID CVE-2011-3464.
++ * Check for both truncation (64-bit platforms) and integer overflow
++ Fix CVE-2011-3026
++ Add 02-660026-CVE-2011-3026.patch
++ Closes: 660026
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 16 Feb 2012 09:18:13 +1100
++
++libpng (1.5.7-2) experimental; urgency=low
++
++ * Fix typo from PPFLAGS to CPPFLAGS.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 09 Jan 2012 21:39:33 +0900
++
++libpng (1.5.7-1) experimental; urgency=low
++
++ * New upstream release.
++ * Update debian/rules.
++ Enabled hardened build flags. (Closes: #654149)
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 09 Jan 2012 21:02:50 +0900
++
++libpng (1.5.6-1) experimental; urgency=low
++
++ * New upstream release.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Mon, 07 Nov 2011 12:35:59 +0900
++
++libpng (1.5.5-1) experimental; urgency=low
++
++ * New upstream release.
++ * Fix lintian error: udeb-uses-non-gzip-data-tarball.
++ Changed option of dh_builddeb for every package.
++ * Fix lintian warning: brace-expansion-in-debhelper-config-file.
++ Remove brace-expansion from debian/libpng-dev.install.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Wed, 26 Oct 2011 12:35:05 +0900
++
++libpng (1.5.4-2) experimental; urgency=low
++
++ * Port Steve Langasek's changes for 1.2.46-1
++ - Build for multiarch. Closes: 634151
++ - Drop debian/libpng15-15-udeb.dirs, which just adds a pointless empty
++ directory to the udeb
++ * Update debian/docs and debian/libpng15-15.docs
++ * Add debian/libpng15-15.doc-base
++ * Build-Depend on autotools-dev
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Tue, 19 Jul 2011 00:49:57 +1000
++
++libpng (1.2.46-2) unstable; urgency=low
++
++ [ Steve Langasek ]
++ * Build for multiarch. Requires converting libpng3 from Arch: all to
++ Arch: any. Closes: 634151
++ * Drop debian/libpng12-0-udeb.dirs, which just adds a pointless empty
++ directory to the udeb.
++
++ [ Anibal Monsalve Salazar ]
++ * Fix doc-base file
++ Closes: 633944, 633957, 634120
++ * Pass "-Zbzip2 -z9" to dpkg-deb
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Mon, 18 Jul 2011 23:38:25 +1000
++
++libpng (1.5.4-1) experimental; urgency=low
++
++ * New upstream release (Closes: #633871).
++ - Fix CVE: CVE-2011-2690
++ Buffer overwrite in png_rgb_to_gray
++ - CVE: CVE-2011-2691
++ Crash in png_default_error due to use of NULL Pointer
++ - CVE: CVE-2011-2692
++ Memory corruption when handling empty sCAL chunks
++ - Remove patches/02-632786-CVE-2011-2501.patch. Applied to upstream.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 15 Jul 2011 12:01:42 +0900
++
++libpng (1.2.46-1) unstable; urgency=high
++
++ * New upstream release (Closes: #633871).
++ - Fix CVE: CVE-2011-2690
++ Buffer overwrite in png_rgb_to_gray
++ - CVE: CVE-2011-2691
++ Crash in png_default_error due to use of NULL Pointer
++ - CVE: CVE-2011-2692
++ Memory corruption when handling empty sCAL chunks
++ - Update patches/01-legacy.patch
++ - Remove patches/02-632786-CVE-2011-2501.patch. Applied to upstream.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Fri, 15 Jul 2011 11:47:49 +0900
++
++libpng (1.5.2-3) experimental; urgency=low
++
++ * Rename libpng15-dev to libpng-dev
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 06 Jul 2011 13:14:03 +1000
++
++libpng (1.5.2-2) experimental; urgency=low
++
++ * Fix 1-byte uninitialized memory reference in png_format_buffer()
++ Fix CVE-2011-2501
++ Add debian/patches/02-632786-CVE-2011-2501.patch
++ Closes: 632786
++ * Pass "-Zbzip2 -z9" to dpkg-deb
++ * Fix xc-package-type-in-debian-control
++ * Fix debian-rules-missing-recommended-target
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 06 Jul 2011 11:27:05 +1000
++
++libpng (1.2.44-3) unstable; urgency=high
++
++ * Fix 1-byte uninitialized memory reference in png_format_buffer()
++ Fix CVE-2011-2501
++ Add debian/patches/02-632786-CVE-2011-2501.patch
++ Closes: 632786
++ * Standards version is 3.9.2
++ * Fix xc-package-type-in-debian-control
++ * Fix debian-rules-missing-recommended-target
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 06 Jul 2011 10:04:32 +1000
++
++libpng (1.5.2-1) experimental; urgency=low
++
++ * New upstream release (Closes: #565821, #574257, #606867).
++ * Remove Sam Hocevar from Uploaders.
++ * Add myself to Uploaders.
++ * Remove libtool, automake and autoconf from Build-depends.
++ * Disable practice of autogen.sh from debian/rules.
++ * Remove support libpng3 package (Closes: #369104, #615558).
++ * Update debian/copyright.
++ - Update copyright holder.
++ - Add new license for contrib/pngsuite (Closes: #615558).
++ * Remove patches directory.
++ * Add libpng15-dev.lintian-overrides.
++ Overrides manpage-has-errors-from-man usr/share/man/man3/libpng.3.gz.
++
++ -- Nobuhiro Iwamatsu <iwamatsu@debian.org> Thu, 09 Jun 2011 21:37:11 +0900
++
++libpng (1.2.44-2) unstable; urgency=low
++
++ * debian/libpng3.links: fix up the compat symlink to point to /lib
++ Patch by Steve Langasek
++ Closes: #579074, LP: #284325
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 13 Mar 2011 14:40:33 +1100
++
++libpng (1.2.44-1) unstable; urgency=low
++
++ * New upstream release
++ Stop memory leak when reading a malformed sCAL chunk
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 26 Jun 2010 13:32:43 +1000
++
++libpng (1.2.43-1) unstable; urgency=high
++
++ * New upstream release
++ * Fix CVE-2010-0205 and Cert VU#576029
++ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0205
++ https://www.kb.cert.org/vuls/id/576029
++ Do not stall and consume large quantities of memory while processing
++ certain Portable Network Graphics (PNG) files
++ Closes: 572308
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 03 Mar 2010 16:44:47 +1100
++
++libpng (1.2.42-2) unstable; urgency=low
++
++ * Merge 1.2.42-1ubuntu1
++ Move libpng from /usr/lib to /lib, so that plymouth is usable on
++ systems with a separate /usr.
++ * Fix out-of-date-standards-version
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 14 Feb 2010 13:09:51 +1100
++
++libpng (1.2.42-1ubuntu1) lucid; urgency=low
++
++ * Merge from Debian testing. Remaining changes:
++ - Move libpng from /usr/lib to /lib, so that plymouth is usable on
++ systems with a separate /usr.
++
++ -- Steve Langasek <steve.langasek@ubuntu.com> Thu, 28 Jan 2010 11:57:34 +0000
++
++libpng (1.2.42-1) unstable; urgency=low
++
++ * New upstream release
++ * Remove 02-export-png_set_strip_error_numbers.patch (merged)
++ * Fix debhelper-but-no-misc-depends
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 16 Jan 2010 17:53:14 +1100
++
++libpng (1.2.41-1ubuntu1) lucid; urgency=low
++
++ * Move libpng from /usr/lib to /lib, so that plymouth is usable on systems
++ with a separate /usr.
++
++ -- Steve Langasek <steve.langasek@ubuntu.com> Mon, 25 Jan 2010 00:18:15 -0800
++
++libpng (1.2.41-1) unstable; urgency=low
++
++ * New upstream release
++ * Debian source format is 3.0 (quilt)
++ * Update debian/watch
++ * Add 02-export-png_set_strip_error_numbers.patch
++ Define PNG_ERROR_NUMBERS_SUPPORTED
++ Upstream doesn't define PNG_ERROR_NUMBERS_SUPPORTED since 1.2.41. As
++ a consecuence, the symbol png_set_strip_error_numbe@@PNG12_0 wasn't
++ exported.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Fri, 04 Dec 2009 11:23:50 +1100
++
++libpng (1.2.40-1) unstable; urgency=low
++
++ * New upstream release
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 07 Oct 2009 12:44:09 +1100
++
++libpng (1.2.39-1) unstable; urgency=low
++
++ * New upstream release
++ * Fix out-of-date-standards-version
++ * Fix patch-system-but-no-source-readme
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 20 Aug 2009 14:57:46 +1000
++
++libpng (1.2.38-1) unstable; urgency=low
++
++ * New upstream release
++ * Fix out-of-date-standards-version
++ * Update upstream homepage
++ Closes: 536474
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 18 Jul 2009 05:44:23 +1000
++
++libpng (1.2.37-1) unstable; urgency=low
++
++ * New upstream release
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 04 Jun 2009 23:03:58 +1000
++
++libpng (1.2.36-1) unstable; urgency=low
++
++ * New upstream release
++ * Standards-Version is 3.8.1
++ * debhelper compat is 7
++ * Run dh_prep instead of dh_clean -k
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Fri, 22 May 2009 09:11:26 +1000
++
++libpng (1.2.35-1) unstable; urgency=high
++
++ * New upstream release
++ - http://secunia.com/advisories/33970/
++ Fix a vulnerability reported by Tavis Ormandy in which
++ some arrays of pointers are not initialized prior to using
++ "malloc" to define the pointers.
++ Closes: #516256
++ - http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5907
++ The png_check_keyword function in pngwutil.c in libpng, might
++ allow context-dependent attackers to set the value of an
++ arbitrary memory location to zero via vectors involving
++ creation of crafted PNG files with keywords, related to an
++ implicit cast of the '\0' character constant to a NULL pointer.
++ * Don't build libpng3 when binary-indep target is not called.
++ Closes: #486415
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 21 Feb 2009 15:50:52 +1100
++
++libpng (1.2.33-2) unstable; urgency=low
++
++ * Fix the following lintian issues:
++ W: libpng12-0: copyright-refers-to-versionless-license-file
++ usr/share/common-licenses/GPL
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Mon, 16 Feb 2009 11:32:17 +1100
++
++libpng (1.2.33-1) experimental; urgency=low
++
++ * New upstream release
++ - Fix memory leak after reading a malformed tEXt chunk
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 01 Nov 2008 17:21:56 +1100
++
++libpng (1.2.32-1) experimental; urgency=low
++
++ * New upstream release
++ - libpng.pc is configured to do static linking; closes: #483477
++ - use autoconf variables in .pc and libpng-config; closes: #483478
++ * Remove debian/patches/02-501109-pngtest.c.diff; it was merged
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 05 Oct 2008 08:20:20 +1100
++
++libpng (1.2.27-2) unstable; urgency=medium
++
++ * Fix CVE-2008-3964: off-by-one error in pngtest.c; closes: #501109
++ * Standards-Version is 3.8.0
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sat, 04 Oct 2008 19:45:17 +1000
++
++libpng (1.2.27-1) unstable; urgency=low
++
++ * New upstream release
++ * Patches merged upstream:
++ debian/patches/02-476669-CVE-2008-1382.diff
++ debian/patches/03-404514-png.5.diff
++ * Run ./autogen.sh
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Tue, 29 Apr 2008 17:22:16 +1000
++
++libpng (1.2.26-1) unstable; urgency=high
++
++ * New upstream release. Closes: #431202
++ * Use quilt
++ Add 01-legacy.diff
++ * Fix CVE-2008-1382 denial of service and possibly code execution
++ Add 02-476669-CVE-2008-1382.diff
++ Closes: #476669
++ * Fix URL in png.5. Closes: #404514
++ Add 03-404514-png.5.diff
++ * Move examples to libpng12-dev. Closes: #401467
++ * Fix "libpng (<= 1.2.20) contains grey-licensed code". Closes: #469126
++ * Fix the following lintian issues:
++ W: libpng source: debian-rules-ignores-make-clean-error line 37
++ W: libpng source: substvar-source-version-is-deprecated libpng12-dev
++ W: libpng source: out-of-date-standards-version 3.7.2 (current is 3.7.3)
++ W: libpng12-0-udeb udeb: description-contains-homepage
++ W: libpng3: description-contains-homepage
++ W: libpng12-dev: description-contains-homepage
++ W: libpng12-0: package-contains-empty-directory usr/bin/
++ W: libpng12-0: package-contains-empty-directory usr/sbin/
++ W: libpng12-0: description-contains-homepage
++ W: libpng12-0: doc-base-unknown-section libpng12:22 Apps/Programming
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 20 Apr 2008 18:22:32 +1000
++
++libpng (1.2.15~beta5-3) unstable; urgency=high
++
++ * ACKed NMU.
++ * Fixed out-of-bounds read operations triggered by crafted
++ png image files (CVE-2007-5269) (Closes: #446308).
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 14 Oct 2007 09:55:00 +1000
++
++libpng (1.2.15~beta5-2.1) unstable; urgency=high
++
++ * Non-maintainer upload by testing security team.
++ * Fixed out-of-bounds read operations triggered by crafted
++ png image files (CVE-2007-5269) (Closes: #446308).
++
++ -- Nico Golde <nion@debian.org> Sun, 14 Oct 2007 01:12:51 +0200
++
++libpng (1.2.15~beta5-2) unstable; urgency=high
++
++ * It seems that a grayscale image with a malformed (bad CRC) tRNS
++ chunk will crash libpng and mozilla. Closes: #424729.
++ - CVE-2007-2445
++ http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=2007-2445
++ - CERT Vulnerability Note VU#684664
++ http://www.kb.cert.org/vuls/id/684664
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 09 May 2007 17:34:02 +1000
++
++libpng (1.2.15~beta5-1) unstable; urgency=low
++
++ * Applied legacy_symbols.patch.
++ * Changed shlibs dependecy versions to ">= 1.2.13-4".
++ * libpng12-0: Added the following conflicts: mzscheme (<= 1:209-5),
++ pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), qemacs (<= 0.3.1-5),
++ povray-3.5 (<= 3.5.0c-10).
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Wed, 20 Dec 2006 10:24:18 +1100
++
++libpng (1.2.15~beta5-0) unstable; urgency=high
++
++ * New upstream release.
++ - Fixed asm API functions not exported on amd64. Closes: #401044.
++ - Fixed "libpng hangs when saving profile". Closes: #401423.
++ * Fixed "Incorrect shlibs information". Closes: #401465.
++ * Removed patches for png.h and pngconf.h.
++ * Updated debian/watch.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 03 Dec 2006 14:47:41 +1100
++
++libpng (1.2.13-4) unstable; urgency=low
++
++ * Removed drop_pass_width patch. Closes: #399499.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Tue, 21 Nov 2006 19:07:43 +1100
++
++libpng (1.2.13-3) unstable; urgency=low
++
++ * libpng12-dev: removed the conflict with libpng3-dev.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 19 Nov 2006 16:36:02 +1100
++
++libpng (1.2.13-2) unstable; urgency=low
++
++ * Put back binary package libpng3.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 19 Nov 2006 15:32:39 +1100
++
++libpng (1.2.13-1) unstable; urgency=low
++
++ * Fixed conflict with the new libpng package. Closes: #399296.
++ * Fixed png.5 man page formatting. Closes: #353061.
++ Patch by Kevin Ryde <user42@zip.com.au>.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 19 Nov 2006 13:55:17 +1100
++
++libpng (1.2.13-0) unstable; urgency=high
++
++ * New upstream release.
++ * CVE-2006-5793: Fixed a new security issue regarding malformed
++ sPLT chunks. Closes: #398706.
++ * Transitional package libpng3 is not shipped anymore.
++ Closes: #369104.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Sun, 19 Nov 2006 09:02:09 +1100
++
++libpng (1.2.12-0) unstable; urgency=high
++
++ * New upstream release. Closes: #366070.
++ * CVE-2006-3334: Fixed Buffer overflow in the png_decompress_chunk
++ function in pngrutil.c in libpng before 1.2.12 allows
++ context-dependent attackers to cause a denial of service and
++ possibly execute arbitrary code via unspecified vectors related
++ to "chunk error processing," possibly involving the "chunk_name".
++ Closes: #397892.
++ * Removed debian/x86_patches/pnggccrd-PIC.patch as it's merged
++ upstream.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Thu, 09 Nov 2006 19:25:08 +1100
++
++libpng (1.2.8rel-7) unstable; urgency=low
++
++ * New maintainer. Closes: #393109.
++ * ACK NMUs. Closes: #378463, #377298, #356252.
++ * debian/control:
++ - set Standards-Version to 3.7.2.
++ - set Priority to extra for libpng12-0-udeb.
++ - added ${misc:Depends} to libpng12-0 and libpng12-0-udeb
++ dependency lists.
++ * Added debian/watch file.
++
++ -- Anibal Monsalve Salazar <anibal@debian.org> Mon, 16 Oct 2006 17:34:58 +1000
++
++libpng (1.2.8rel-6) unstable; urgency=low
++
++ * Orphaning package.
++
++ -- Josselin Mouette <joss@debian.org> Sun, 15 Oct 2006 03:22:24 +0200
++
++libpng (1.2.8rel-5.2) unstable; urgency=low
++
++ * Non-maintainer upload.
++ * Backport changes from 1.2.12 to fix a buffer overflow in
++ png_decompress_chunk; patch by Alec Berryman. [CVE-2006-3334]
++ (Closes: #377298)
++
++ -- Steinar H. Gunderson <sesse@debian.org> Sun, 16 Jul 2006 16:27:56 +0200
++
++libpng (1.2.8rel-5.1) unstable; urgency=low
++
++ * Non Maintainer Upload (closes: #356252).
++ * Add support for udeb dependency resolution in shlibs file.
++ * Update debhelper compatibility to level 5.
++
++ -- Frans Pop <fjp@debian.org> Thu, 30 Mar 2006 11:46:39 +0200
++
++libpng (1.2.8rel-5) unstable; urgency=low
++
++ * drop_pass_width.patch: don't export png_pass_width, it's absolutely
++ unnecessary.
++ * libpng12-0.shlibs: downgrade the shlibs accordingly
++ (closes: #331383).
++
++ -- Josselin Mouette <joss@debian.org> Mon, 3 Oct 2005 20:18:43 +0200
++
++libpng (1.2.8rel-4) unstable; urgency=low
++
++ * makefile.patch:
++ + Use PNG_PRIVATE to get the list of private symbols as well. It
++ sucks, but they've been there for too long (closes: #329886).
++ + Use mawk instead of awk (closes: #329812).
++ * control: build-depend on mawk.
++ * rules:
++ + Use -O2, not -O3.
++ + Actually run the tests.
++ + Make use of x86_patches/ on x86 architectures.
++ * x86_patches/mmxbuild.patch: build MMX routines in pnggccrd.c.
++ * x86_patches/pnggccrd-PIC.patch: patch from Christian Aichinger
++ to make the assembly routines PIC-compatible.
++ * libpng12-0.shlibs: bump the shlibs version.
++
++ -- Josselin Mouette <joss@debian.org> Sun, 25 Sep 2005 15:25:34 +0200
++
++libpng (1.2.8rel-3) unstable; urgency=low
++
++ * Upload to unstable.
++ * Rename the source package to libpng.
++
++ -- Josselin Mouette <joss@debian.org> Thu, 22 Sep 2005 18:24:37 +0200
++
++libpng3 (1.2.8rel-2) experimental; urgency=low
++
++ * makefile.patch:
++ + now patch makefile.elf, so that only public symbols are truly
++ exported.
++ + shorten the differences as much as possible.
++ * rules: use makefile.elf now.
++ * Move libpng3 to oldlibs.
++ * Entirely remove libpng3-dev, making libpng12-dev provide it
++ (closes: #322051).
++ * poynton.patch: correct Charles Poynton's address (closes: #289437).
++ * Don't run the test when cross-building (closes: #285427).
++ * setjmp_error.patch: don't stop when we are not using _BSD_SOURCE, as
++ in this case this is harmless (closes: #299343).
++ * libpng3.postinst: removed, the fix is in sarge.
++ * Standards-version is 3.6.2.
++ * legacy_symbols.patch: still export png_read_destroy and
++ png_write_destroy, which are deprecated but should nevertheless be
++ accessible.
++
++ -- Josselin Mouette <joss@debian.org> Tue, 13 Sep 2005 02:07:16 +0200
++
++libpng3 (1.2.8rel-1) unstable; urgency=medium
++
++ * New upstream release.
++ * read_transformations.patch: removed, included upstream.
++ * libpng12-0.shlibs: Update to version 1.2.8rel, new flags seem to have been
++ added.
++
++ -- Josselin Mouette <joss@debian.org> Sat, 4 Dec 2004 15:54:53 +0100
++
++libpng3 (1.2.8beta5-2) unstable; urgency=medium
++
++ * read_transformations.patch: fix segmentation fault with latex
++ (closes: #281789) and totem (closes: #278618).
++
++ -- Josselin Mouette <joss@debian.org> Thu, 25 Nov 2004 16:49:28 +0100
++
++libpng3 (1.2.8beta5-1) unstable; urgency=medium
++
++ * New upstream release.
++ + Correct segmentation violation in png_combine_row.
++ Closes: #278526, #278917, #278921, #279258, #281789, #282368.
++
++ -- Josselin Mouette <joss@debian.org> Wed, 24 Nov 2004 13:53:49 +0100
++
++libpng3 (1.2.7-1) unstable; urgency=medium
++
++ * New upstream release (closes: #278308).
++ * libpng12-0.shlibs: update shlibs to version 1.2.7.
++ * Remove all security fixed, they are included upstream.
++
++ -- Josselin Mouette <joss@debian.org> Tue, 26 Oct 2004 13:40:25 +0200
++
++libpng3 (1.2.5.0-9) unstable; urgency=high
++
++ * CAN-2004-0954.patch: removed, this is already fixed in
++ CAN-2004-0597_0598_0599.patch.
++
++ -- Josselin Mouette <joss@debian.org> Tue, 19 Oct 2004 10:52:28 +0200
++
++libpng3 (1.2.5.0-8) unstable; urgency=high
++
++ * Switch to CDBS.
++ + Ship modifications and security fixes in debian/patches.
++ + debian/rules: rewritten.
++ + debian/control: build-depend on cdbs.
++ + debian/libpng12-0.shlibs: new.
++ * setjmp_error.patch: port explanation of the error when including setjmp.h
++ from libpng10, thanks Matijs van Zuijlen <Matijs.van.Zuijlen@xs4all.nl>
++ (closes: #273473).
++ * CAN-2004-0954.patch: fix buffer overflow vulnerability in
++ png_handle_tRNS().
++ * CAN-2004-0955.patch: fix integer arithmetic overflow vulnerability in
++ png_read_png().
++
++ -- Josselin Mouette <joss@debian.org> Thu, 14 Oct 2004 20:06:08 +0200
++
++libpng3 (1.2.5.0-7) unstable; urgency=high
++
++ * pngrtran.c: applied upstream patch 4 to fix incorrect calculation of
++ buffer offsets [CAN-2004-0768].
++ * png.h, pngpread.c, pngrutil.c: patch from Chris Evans
++ <chris@scary.beasts.org> to fix several vulnerabilities (closes: #263500):
++ + libpng fails to properly check length on PNG data [CAN-2004-0597].
++ + libpng "png_handle_sBIT" does not perform proper checks to avoid stack
++ buffer overflow [CAN-2004-0597].
++ + libpng "png_handle_iCCP" possible NULL-pointer crash
++ [CAN-2004-0598].
++ + libpng "png_handle_sPLT" possible integer overflow
++ [CAN-2004-0599].
++ + libpng "png_read_png" does not properly handle a PNG with excessive
++ height (integer overflow) [CAN-2004-0599].
++ + libpng progressive reading integer overflow [CAN-2004-0599].
++
++ -- Josselin Mouette <joss@debian.org> Thu, 5 Aug 2004 12:37:32 +0200
++
++libpng3 (1.2.5.0-6) unstable; urgency=high
++
++ * pngerror.c: applied patch by Steve Grubb <linux_4ever@yahoo.com> to
++ fix unintended memory access that could result in a crash of the
++ application linking against libpng [CAN-2004-0421].
++
++ -- Josselin Mouette <joss@debian.org> Tue, 20 Apr 2004 13:39:02 +0200
++
++libpng3 (1.2.5.0-5) unstable; urgency=low
++
++ * Use debhelper 4.2, which generates the udeb appropriately.
++ * Update control and rules appropriately.
++ * Don't use ${shlibs:Depends} for the udeb, rather write the
++ dependencies by hand.
++ * Standards-version is 3.6.1.
++
++ -- Josselin Mouette <joss@debian.org> Fri, 20 Feb 2004 19:23:05 +0100
++
++libpng3 (1.2.5.0-4) unstable; urgency=low
++
++ * scripts/makefile.linux: use versioned dependencies
++ (closes: #155891).
++ * debian/rules: bump dependency for dh_makeshlibs.
++ * add the libpng.a link in libpng12-dev.
++ * Rework scripts/makefile.linux to make it more consistent.
++ * Update stuff in debian/ accordingly.
++ * Updated README.Debian.
++
++ -- Josselin Mouette <joss@debian.org> Tue, 10 Jun 2003 18:14:32 +0200
++
++libpng3 (1.2.5.0-3) unstable; urgency=low
++
++ * Make libpng3{,-dev} depend on libpng12-{0,dev} >= 1.2.5.0-2 instead
++ of the strict source version.
++ * Move /usr/share/doc/libpng3{,-dev} into symlinks at postinst time
++ when directories already exist.
++ * debian/rules: install correctly doc-base stuff.
++ * debian/libpng12-dev.doc-base: updated URIs.
++
++ -- Josselin Mouette <joss@debian.org> Tue, 6 May 2003 19:44:59 +0200
++
++libpng3 (1.2.5.0-2) unstable; urgency=low
++
++ * scripts/{makefile.linux,libpng-config-body.in}: correct the
++ libpng12-config script.
++ * Install correctly pkg-config stuff (closes: #191081).
++ * Make libpng12-dev conflict explicitly with libpng12-0-dev.
++ * Update README.Debian.
++
++ -- Josselin Mouette <joss@debian.org> Mon, 28 Apr 2003 19:42:15 +0200
++
++libpng3 (1.2.5.0-1) unstable; urgency=low
++
++ * New maintainer.
++ * Use real upstream tarball from 1.2.5 release.
++ * Use dpkg-source's way instead of dpatch for patching.
++ * A bit of rework in debian/rules, use dh_install and debhelper 4.
++ * Standards-version is 3.5.9.
++ * The -dev package is now named libpng12-dev (stop using the
++ libpkg-guide way).
++ * libpng3 is now arch-independent.
++ * Improved descriptions a bit.
++ * Don't supply libpngpf.3, it is not useful to programmers.
++
++ -- Josselin Mouette <joss@debian.org> Wed, 16 Apr 2003 18:41:02 +0200
++
++libpng3 (1.2.5-11) unstable; urgency=low
++
++ * Add udeb (closes: #174842)
++ * Add missing section on source files.
++
++ -- Junichi Uekawa <dancer@debian.org> Mon, 31 Mar 2003 00:28:06 +0900
++
++libpng3 (1.2.5-10) unstable; urgency=low
++
++ * Rebuild with d-shlibs with fixed "libgcc_s1-dev" handling (for gcc-3.2).
++ (closes: #178070), build-depend on d-shlibs 0.10 or greater.
++
++ -- Junichi Uekawa <dancer@debian.org> Fri, 24 Jan 2003 12:23:35 +0900
++
++libpng3 (1.2.5-9) unstable; urgency=low
++
++ * Use dpatch for patch system -- divide Debian patch, and security fix patch.
++ * Standards-Version: 3.5.8
++ * add manual page libpng-config.1 and libpng12-config.1
++
++ -- Junichi Uekawa <dancer@debian.org> Wed, 15 Jan 2003 17:55:17 +0900
++
++libpng3 (1.2.5-8) unstable; urgency=low
++
++ * Sorry folks, I made a mistake.
++ * Forward-port of patch from the Security Team,
++ really apply what was there. (closes: #172868,#172871)
++
++ -- Junichi Uekawa <dancer@debian.org> Fri, 13 Dec 2002 16:12:01 +0900
++
++libpng3 (1.2.5-7) unstable; urgency=high
++
++ * Forward-port of patch from the Security Team
++ * Applied patch to pngrtran.c by Glenn Randers-Pehrson
++ <glennrp@comcast.net> to fix a buffer overrun.
++
++ -- Junichi Uekawa <dancer@debian.org> Thu, 12 Dec 2002 20:36:28 +0900
++
++libpng3 (1.2.5-6) unstable; urgency=low
++
++ * Typo in scripts/makefile.linux.
++ Mistake. -lz and -lm weren't happening.
++ * Change LDFLAGS to not list -lz -lm, so that testsuite will catch such error.
++ * set prefix=/usr/ in scripts/makefile.linux, since it was set to usr/local.
++
++ -- Junichi Uekawa <dancer@debian.org> Wed, 30 Oct 2002 20:54:54 +0900
++
++libpng3 (1.2.5-5) unstable; urgency=low
++
++ * scripts/makefile.linux: LIBADDFLAGS introduced, for shared library lib
++ additional
++ flags, and use that for shared library.
++ - this should fix build failure (closes: #166704)
++ Thanks Daniel Schepler <schepler@math.berkeley.edu> for reporting.
++ * updated copyright file to note that libpng3 in Debian is patched to
++ link with -lz -lm.
++
++ -- Junichi Uekawa <dancer@debian.org> Mon, 28 Oct 2002 12:25:57 +0900
++
++libpng3 (1.2.5-4) unstable; urgency=low
++
++ * Trying to fix the problem that libpng3 seems to be not linked against libz.
++ LDFLAGS was defined but not being used.
++ Thanks Mike Furr <mfurr@debian.org> for reporting (closes: #166489)
++
++ -- Junichi Uekawa <dancer@debian.org> Sun, 27 Oct 2002 16:07:54 +0900
++
++libpng3 (1.2.5-3) unstable; urgency=low
++
++ * Fixed description, I mixed up the -devel and non-devel
++ packages.
++ * updated README.Debian.
++
++ -- Junichi Uekawa <dancer@debian.org> Thu, 24 Oct 2002 18:56:34 +0900
++
++libpng3 (1.2.5-2) unstable; urgency=low
++
++ * careless mistake :(
++ * reinstall libpng.so symlink in libpng-12-0-dev package.
++ Otherwise other packages won't build ...
++
++ -- Junichi Uekawa <dancer@debian.org> Wed, 23 Oct 2002 16:46:23 +0900
++
++libpng3 (1.2.5-1) unstable; urgency=low
++
++ * New upstream version (closes: #163425)
++ * re-patched makefile.linux to work with system zlib,
++ added workaround to set CFLAGS, and remove rpath settings from LDFLAGS
++ * Use debhelper.
++ * No longer create /usr/doc symlinks.
++ * Standards-Version: 3.5.7
++
++ -- Junichi Uekawa <dancer@debian.org> Tue, 22 Oct 2002 21:05:33 +0900
++
++libpng3 (1.2.1-5) unstable; urgency=low
++
++ * Not yet released.
++ * Change priority from standard to optional.
++
++ -- Junichi Uekawa <dancer@debian.org> Sun, 15 Sep 2002 15:39:12 +0900
++
++libpng3 (1.2.1-4) unstable; urgency=low
++
++ * change -dev dependency of libc6-dev to libc-dev
++
++ -- Junichi Uekawa <dancer@debian.org> Fri, 13 Sep 2002 18:40:53 +0900
++
++libpng3 (1.2.1-3) unstable; urgency=low
++
++ * Security fix backported from 1.2.4. Check bounds of variables.
++ (closes: #155403)
++
++ -- Junichi Uekawa <dancer@debian.org> Wed, 7 Aug 2002 17:30:32 +0900
++
++libpng3 (1.2.1-2) unstable; urgency=low
++
++ * New maintainer (closes: #151343)
++ * apply buffer overflow patch for interlaced png files (closes: #150595)
++ * update description for libpng3-dev.
++ * change libpng-dev to libpng3-dev
++
++ -- Junichi Uekawa <dancer@debian.org> Thu, 25 Jul 2002 16:28:24 +0900
++
++libpng3 (1.2.1-1.1) unstable; urgency=low
++
++ * NMU
++ * Provides: libpng2-dev has been changed to Provides: libpng3-dev
++ libpng2-dev can be put back in when some kind of sane transition has
++ finished.
++ (closes: #128384, #128871, #129268, #129269)
++
++ -- Junichi Uekawa <dancer@debian.org> Tue, 12 Feb 2002 02:31:53 +0900
++
++libpng3 (1.2.1-1) unstable; urgency=low
++
++ * New upstream version; closes: #125679.
++ * New source package name: libpng3.
++ * Renamed libpng<x>-dev to libpng-dev to avoid having to maintain several
++ development packages (the -dev is source compatible).
++ * Moved png.5 into the -dev package.
++ * Added a Replaces: libpng2 to libpng-dev so that we can steal the png.5
++ manpage without fuss.
++ * Changed debian/shlibs for libpng3.
++ * Compress examples/pngtest.c.
++
++ -- Philippe Troin <phil@fifi.org> Tue, 18 Dec 2001 20:01:04 -0800
++
++libpng (1.0.12-3) unstable; urgency=low
++
++ * Moved the png.5 manpage to the dev package to allow multiple libpng<n>
++ packages installed at the same time.
++
++ -- Philippe Troin <phil@fifi.org> Tue, 18 Dec 2001 23:58:25 -0800
++
++libpng (1.0.12-2) unstable; urgency=low
++
++ * Changed libpng2-dev's section to devel to resync with override file.
++ * Fixed upstream version detection in debian/rules; closes: #105931.
++
++ -- Philippe Troin <phil@fifi.org> Sun, 29 Jul 2001 11:52:40 -0700
++
++libpng (1.0.12-1) unstable; urgency=low
++
++ * New upstream release; closes: #105354.
++ * Bumped dependency information in debian/shlibs to libpng >= 1.0.12
++ since there were some non-backwards compatible changes to the API.
++ * Added support for DEB_BUILD_OPTIONS and get-orig-source to debian/rules.
++ * Added call to ldconfig on postrm's remove.
++ * Removed INSTALL file from /usr/share/doc/libpng2.
++ * Bumped standards version to 3.5.5.0.
++
++ -- Philippe Troin <phil@fifi.org> Tue, 17 Jul 2001 23:32:36 -0700
++
++libpng (1.0.11-1) unstable; urgency=low
++
++ * New upstream release.
++
++ -- Philippe Troin <phil@fifi.org> Wed, 2 May 2001 20:43:51 -0700
++
++libpng (1.0.10-2) unstable; urgency=low
++
++ * Force recompile because of bad sparc package.
++ * Libpng2's priority changed to standard to comply with the override file.
++
++ -- Philippe Troin <phil@fifi.org> Tue, 24 Apr 2001 11:49:31 -0700
++
++libpng (1.0.10-1) unstable; urgency=low
++
++ * New upstream release.
++ * Changed shlib to depend on libpng2 (>= 2.0.10) because of
++ non-backwards compatible changes.
++
++ -- Philippe Troin <phil@fifi.org> Sun, 22 Apr 2001 22:48:30 -0700
++
++libpng (1.0.8-1) unstable; urgency=low
++
++ * Changed the doc-base type from 'test' to 'text'; closes: #59877.
++ * New upstream relase 1.0.8; closes: #70464.
++ * Updated copyright notice.
++ * Removed Y2kINFO from the doc directory.
++ * Added pngtest.c in examples; closes: #65229.
++ * Updated to standards version 3.2.1.0.
++ * Added build-depends line in control file; closes: #69291.
++
++ -- Philippe Troin <phil@fifi.org> Mon, 11 Sep 2000 23:19:12 -0700
++
++libpng (1.0.5-1) frozen unstable; urgency=low
++
++ * Maintainer upload (closes: #48244, #48246).
++ * Added some extra explanations for the setjmp.h mess (closes: #56759),
++ see pngconf.h for details.
++
++ -- Philippe Troin <phil@fifi.org> Mon, 28 Feb 2000 13:53:22 -0800
++
++libpng (1.0.5-0.1) unstable; urgency=low
++
++ * Non-maintainer release.
++ * New upstream release. (closes:Bug#48244).
++ * Remove versioned depend from shlibs (closes:Bug#48246).
++
++ -- Joel Klecker <espy@debian.org> Sat, 30 Oct 1999 08:12:53 -0700
++
++libpng (1.0.3-1) unstable; urgency=low
++
++ * New upstream version (1.0.3); Closes: #31870, #46333.
++ * Maintainer upload, closes NMU bugs; Closes: #28412, #31523, #31690.
++ * FHS compliant.
++ * New standard-version 3.0.1.
++ * Lintian clean.
++ * Removed temporary zlib1g line in control file (used to be a bug in
++ zlib1g).
++ * Moved the documentation file to the -dev package.
++ * Register documentation file to doc-base.
++ * Fontified man pages with addformat script; Closes #38680.
++
++ -- Philippe Troin <phil@fifi.org> Mon, 4 Oct 1999 18:59:42 -0700
++
++libpng (1.0.2b-0.1) frozen unstable; urgency=low
++
++ * New upstream (bug-fix only) version.
++ (Should fix bugs #31690滼, since I can't reproduce them)
++ From the author:
++ "I have recently uploaded libpng-1.0.2b to
++ ftp://swrinde.nde.swri.edu/pub/png-group/src
++ I plan to release it as libpng-1.0.3 in a
++ few days, but would like to hear whether it
++ fixes the problems with GNOME.
++ It restores a few lines of code that were
++ inadvertently deleted from pngread.c, which
++ seems to be the cause of problems with adding
++ an alpha channel (which you fixed by downgrading
++ to libpng-1.0.1's pngread.c)."
++ [Glenn Randers-Pehrson <glennrp@netgsi.com>]
++ * Masquerade version number to 1.0.3 to make Imlib & Co. happy.
++
++ -- Vincent Renardias <vincent@waw.com> Mon, 11 Jan 1999 06:27:55 +0100
++
++libpng (1.0.2-1.1) frozen unstable; urgency=low
++
++ * Fix Important bug #28412
++ (using pngread.c from libpng-1.0.1 did the trick).
++
++ -- Vincent Renardias <vincent@waw.com> Wed, 6 Jan 1999 19:00:15 +0100
++
++libpng (1.0.2-1) unstable; urgency=low
++
++ * Maintainer release (to change a bit).
++ * Pristine sources.
++ * Libpng2-dev includes example.c (fixes bug #10315).
++ * Changed control file to reflect difference with libpng0g (fixes #23795).
++ * Recompiled (should fix the zlib1g missing symbol, bug #24450).
++ * Added -D_REENTRANT also to static library.
++ * Added a dependency upon zlib1g >= 1.1.2 (otherwise we get a missing
++ symbol) (fixes bug #24450).
++
++ -- Philippe Troin <phil@fifi.org> Tue, 22 Sep 1998 00:17:16 -0700
++
++libpng (1.0.2-0.1) unstable; urgency=low
++
++ * Non-maintainer release
++ * New upstream version
++
++ -- Karl M. Hegbloom <karlheg@debian.org> Tue, 4 Aug 1998 23:47:00 -0700
++
++libpng (1.0.1-0.2) unstable; urgency=medium
++
++ * debian/rules (binary-arch): don't call install with -s as an
++ argument when installing a shared library; it doesn't know to use
++ --strip-unneeded, and we call strip separately later anyway.
++ * scripts/makefile.lnx (CFLAGS): killed i386-isms.
++ * scripts/makefile.lnx: compiled shared libraries with -D_REENTRANT.
++ (The above fixes are from James Troup, who yet again, alerted me to
++ my screwups ;)
++ * debian/postinst: only call ldconfig if $1 = configure.
++
++ -- Joel Klecker <jk@espy.org> Wed, 17 Jun 1998 10:25:27 -0700
++
++libpng (1.0.1-0.1) unstable; urgency=low
++
++ * New upstream bug fix release.
++ * Include man pages.
++
++ -- Joel Klecker <jk@espy.org> Wed, 06 May 1998 08:51:49 -0700
++
++libpng (1.0.0-0.1) unstable; urgency=low
++
++ * Non-maintainer Release.
++ * New Upstream Release.
++ * Changed source package name to `libpng'.
++ * Added `-f makefile.lnx' to make invocations in debian/rules.
++ * Removed `ldconfig' call from postrm.
++
++ -- Joel Klecker <jk@espy.org> Wed, 04 Mar 1998 17:58:05 -0800
++
++libpng0 (0.96-5) unstable; urgency=low
++
++ * Removed executable permissions on shared libs (fixes bug #15478).
++ * Updated Standards-Version to 2.3.0.1.
++
++ -- Philippe Troin <phil@fifi.org> Sun, 25 Jan 1998 13:19:51 -0800
++
++libpng0 (0.96-4) unstable; urgency=low
++
++ * Shared libraries are stripped with --strip-unneeded and static
++ libraries with --strip-debug (fixes bug #15669).
++ * Made the build strip non-i386 specific (patch by James Troup) (fixes
++ bug #13832).
++ * Removed the dependency between the libc5 and libc6 versions.
++
++ -- Philippe Troin <phil@fifi.org> Sun, 18 Jan 1998 22:37:19 -0800
++
++libpng0 (0.96-3) unstable; urgency=low
++
++ * Libc6 compilation.
++
++ -- Philippe Troin <phil@fifi.org> Tue, 23 Sep 1997 21:38:42 -0700
++
++libpng0 (0.96-2) unstable; urgency=low
++
++ * Fixed permissions in /usr/doc/libpng0 (fixes bug #10540).
++
++ -- Philippe Troin <phil@fifi.org> Sun, 15 Jun 1997 13:18:38 -0700
++
++libpng0 (0.96-1) unstable; urgency=low
++
++ * New upstream sources.
++
++ -- Philippe Troin <phil@fifi.org> Thu, 12 Jun 1997 23:32:29 -0700
++
++libpng0 (0.95b-1) unstable; urgency=low
++
++ * New maintainer.
++ * Upgraded to upstream version 0.95b.
++ * Make debian/rules version independent.
++ * Debian/rules clean now removes substvars.
++ * Bumped the shlibs version to 0.95 as some incompatibilities were
++ introduced between 0.89 and 0.90.
++ * Added the Section: and Priority: fields to the control file (fixes bug
++ #6370).
++ * Now /usr/doc/libpng0 contains various info and the debian change log
++ stuff (fixes bug #7925).
++ * Added -D_REENTRANT compilation flag.
++
++ -- Philippe Troin <phil@fifi.org> Fri, 18 Apr 1997 14:44:09 -0700
++
++libpng (0.89c-6) unstable; urgency=low
++
++ * Moved shlibs file to correct location
++
++ -- Michael Alan Dorman <mdorman@debian.org> Sun, 15 Dec 1996 13:03:19 -0500
++
++libpng (0.89c-5) unstable; urgency=low
++
++ * Added shlibs file
++
++ -- Michael Alan Dorman <mdorman@debian.org> Sat, 23 Nov 1996 16:23:06 -0500
++
++libpng (0.89c-4) unstable; urgency=low
++
++ * Now stripping shared libraries (Bug#5134)
++
++ -- Michael Alan Dorman <mdorman@debian.org> Sat, 23 Nov 1996 12:05:06 -0500
++
++libpng (0.89c-3) unstable; urgency=low
++
++ * Corrected maintainers address
++
++ -- Michael Alan Dorman <mdorman@debian.org> Mon, 23 Sep 1996 12:52:03 -0400
++
++libpng (0.89c-2) unstable; urgency=low
++
++ * Accommodate the fact that dpkg-source doesn't properly preserve
++ permissions on scripts when extracting package. (Bug#4513)
++
++ -- Michael Alan Dorman <mdorman@calder.med.miami.edu> Mon, 23 Sep 1996 12:34:35 -0400
++
++libpng (0.89c-1) unstable; urgency=low
++
++ * New upstream version.
++ * Moved to new source packaging format.
++
++ -- Michael Alan Dorman <mdorman@calder.med.miami.edu> Thu, 12 Sep 1996 15:19:35 -0400
--- /dev/null
--- /dev/null
++CHANGES
--- /dev/null
--- /dev/null
++pngtest-static
--- /dev/null
--- /dev/null
++Source: libpng1.6
++Section: libs
++Priority: optional
++Maintainer: Maintainers of libpng1.6 packages <libpng1.6@packages.debian.org>
++Uploaders: Nobuhiro Iwamatsu <iwamatsu@debian.org>,
++ Gianfranco Costamagna <locutusofborg@debian.org>,
++ Tobias Frost <tobi@debian.org>
++Build-Depends: debhelper-compat (= 13), cmake, zlib1g-dev, mawk
++Standards-Version: 4.7.3
++Vcs-Browser: https://salsa.debian.org/debian/libpng1.6
++Vcs-Git: https://salsa.debian.org/debian/libpng1.6.git
++Homepage: http://libpng.org/pub/png/libpng.html
++
++Package: libpng16-16t64
++Provides: ${t64:Provides}
++Replaces: libpng16-16
++Breaks: libpng16-16 (<< ${source:Version})
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Multi-Arch: same
++Description: PNG library - runtime (version 1.6)
++ libpng is a library implementing an interface for reading and writing
++ PNG (Portable Network Graphics) format files.
++ .
++ This package contains the runtime library files needed to run software
++ using libpng.
++
++Package: libpng-dev
++Section: libdevel
++Architecture: any
++Multi-Arch: same
++Depends: ${misc:Depends}, libpng16-16t64 (= ${binary:Version}), zlib1g-dev
++Conflicts: libpng12-0-dev, libpng12-dev, libpng2-dev, libpng3-dev
++Breaks: libpng16-dev (<< 1.6.20-3), libpng16-devtools (<< 1.6.21-1)
++Replaces: libpng16-dev (<< 1.6.20-3), libpng16-devtools (<< 1.6.21-1)
++Recommends: libpng-tools
++Description: PNG library - development (version 1.6)
++ libpng is a library implementing an interface for reading and writing
++ PNG (Portable Network Graphics) format files.
++ .
++ This package contains the header and development files needed to build
++ programs and packages using libpng.
++
++Package: libpng-tools
++Section: libdevel
++Architecture: any
++Multi-Arch: foreign
++Depends: ${shlibs:Depends}, ${misc:Depends}, libpng16-16t64 (= ${binary:Version})
++Breaks: libpng16-tools (<< 1.6.21-1)
++Replaces: libpng16-tools (<< 1.6.21-1)
++Description: PNG library - tools (version 1.6)
++ libpng is a library implementing an interface for reading and writing
++ PNG (Portable Network Graphics) format files.
++ .
++ This package contains a program to interact with libpng from the
++ command line.
++
++Package: libpng16-16-udeb
++Package-Type: udeb
++Build-Profiles: <!noudeb>
++Section: debian-installer
++Architecture: any
++Depends: ${shlibs:Depends}, ${misc:Depends}
++Description: PNG library - minimal runtime library (version 1.6)
++ libpng is a library implementing an interface for reading and writing
++ PNG (Portable Network Graphics) format files.
++ .
++ This package provides the minimal libpng runtime library needed for
++ the debian-installer.
--- /dev/null
--- /dev/null
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: libpng
++Source: http://www.libpng.org/pub/png/
++
++Files: *
++Copyright: 1995-2026 The PNG Reference Library Authors.
++ 1998-2018 Glenn Randers-Pehrson
++ 2018-2026 Cosmin Truta
++License: libpng
++
++Files: arm/*
++Copyright: 2018-2025 Cosmin Truta
++ 2017-2018 Arm Holdings. All rights reserved.
++ 2014,2016 Glenn Randers-Pehrson
++License: libpng
++
++Files: ci/*
++Copyright: 2023-2024 Cosmin Truta
++License: expat
++
++Files: contrib/pngexif/*
++Copyright: 2017-2020 Cosmin Truta
++License: expat
++
++Files: contrib/pngminus/*
++Copyright: 1999-2019 Willem van Schaik <willem at schaik dot com>
++ 2018-2024 Cosmin Truta
++License: expat
++
++Files: contrib/tools/*
++Copyright: 2013-2024 John Cunningham Bowler
++ 2015 Glenn Randers-Pehrson
++License: libpng
++
++Files: pngwutil.c pngstruct.h pngwrite.c pnginfo.h pngrio.c png.h
++ pngread.c pngwio.c pngrutil.c pngmem.c pngget.c pngtest.c
++ pngrtran.c pngpriv.h pngset.c pngpread.c
++ pngdebug.h pngerror.c pngwtran.c png.c pngtrans.c example.c
++Copyright: 1996, 1997 Andreas Dilger
++ 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
++ 1998-2018 Glenn Randers-Pehrson
++ 2018-2025 Cosmin Truta
++License: libpng
++
++Files: contrib/gregbook/*
++ contrib/visupng/resource.h
++ contrib/visupng/cexcept.h
++Copyright: 2000-2008 Adam M. Costello and Cosmin Truta
++ 1998-2017 Greg Roelofs
++License: GPL-2+ or BSD-like-with-advertising-clause
++
++Files: contrib/visupng/PngFile.c contrib/visupng/PngFile.h
++ contrib/visupng/VisualPng.c
++Copyright: 2000,2017 Willem van Schaik
++License: libpng
++
++Files: contrib/libtests/tarith.c
++Copyright: 2011-2013 John Cunningham Bowler
++ 2021 Cosmin Truta
++License: libpng
++
++Files: contrib/oss-fuzz/*
++Copyright: 2017-2018 Glenn Randers-Pehrson
++ 2016 Google Inc.
++ 2015 The Chromium Authors.
++License: libpng OR Apache-2.0 OR BSD-3-clause
++
++Files: contrib/oss-fuzz/Dockerfile
++Copyright: 2016 Google Inc.
++License: Apache-2.0
++
++Files: riscv/*
++Copyright: 2023 Google LLC
++License: libpng
++
++Files: debian/*
++Copyright: 2001 Philippe Troin <phil@fifi.org>
++ 2002 Junichi Uekawa <dancer@debian.org>
++ 2003 Josselin Mouette <joss@debian.org>
++ 2006-2009 Anibal Monsalve Salazar <anibal@debian.org>
++ 2011-2014 Nobuhiro Iwamatsu <iwamatsu@debian.org>
++ 2016-2026 Gianfranco Costamagna <locutusofborg@debian.org>
++ 2016-2026 Tobias Frost <tobi@debian.org>
++License: GPL-2+
++
++License: expat
++ Permission is hereby granted, free of charge, to any person obtaining
++ a copy of this software and associated documentation files (the
++ "Software"), to deal in the Software without restriction, including
++ without limitation the rights to use, copy, modify, merge, publish,
++ distribute, sublicense, and/or sell copies of the Software, and to
++ permit persons to whom the Software is furnished to do so, subject to
++ the following conditions:
++ .
++ The above copyright notice and this permission notice shall be
++ included in all copies or substantial portions of the Software.
++ .
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
++ BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
++ ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
++ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
++ SOFTWARE.
++
++License: GPL-2+
++ This package is free software; you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation; either version 2 of the License, or
++ (at your option) any later version.
++ .
++ This package is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>
++ .
++ On Debian systems, the complete text of the GNU General
++ Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
++
++License: BSD-like-with-advertising-clause
++ Permission is granted to anyone to use this software for any purpose,
++ including commercial applications, and to alter it and redistribute
++ it freely, subject to the following restrictions:
++ .
++ 1. Redistributions of source code must retain the above copyright
++ notice, disclaimer, and this list of conditions.
++ 2. Redistributions in binary form must reproduce the above copyright
++ notice, disclaimer, and this list of conditions in the documenta-
++ tion and/or other materials provided with the distribution.
++ 3. All advertising materials mentioning features or use of this
++ software must display the following acknowledgment:
++ .
++ This product includes software developed by Greg Roelofs
++ and contributors for the book, "PNG: The Definitive Guide,"
++ published by O'Reilly and Associates.
++
++License: libpng
++ Here is the copyright and license for libpng:
++ .
++ libpng versions 1.2.6, August 15, 2004, through 1.5.2, March 31, 2011, are
++ Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
++ distributed according to the same disclaimer and license as libpng-1.2.5
++ with the following individual added to the list of Contributing Authors
++ .
++ Cosmin Truta
++ .
++ libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
++ Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
++ distributed according to the same disclaimer and license as libpng-1.0.6
++ with the following individuals added to the list of Contributing Authors
++ .
++ Simon-Pierre Cadieux
++ Eric S. Raymond
++ Gilles Vollant
++ .
++ and with the following additions to the disclaimer:
++ .
++ There is no warranty against interference with your enjoyment of the
++ library or against infringement. There is no warranty that our
++ efforts or the library will fulfill any of your particular purposes
++ or needs. This library is provided with all faults, and the entire
++ risk of satisfactory quality, performance, accuracy, and effort is with
++ the user.
++ .
++ libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
++ Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
++ distributed according to the same disclaimer and license as libpng-0.96,
++ with the following individuals added to the list of Contributing Authors:
++ .
++ Tom Lane
++ Glenn Randers-Pehrson
++ Willem van Schaik
++ .
++ (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
++ (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
++ .
++ Authors and maintainers:
++ libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
++ libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
++ libpng versions 0.97, January 1998, through 1.2.26 - April 2, 2008: Glenn
++ See also "Contributing Authors", below.
++ .
++ .
++ COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
++ .
++ If you modify libpng you may insert additional notices immediately following
++ this sentence.
++ .
++ libpng versions 1.2.6, August 15, 2004, through 1.2.26, April 2, 2008, are
++ Copyright (c) 2004, 2006-2008 Glenn Randers-Pehrson, and are
++ distributed according to the same disclaimer and license as libpng-1.2.5
++ with the following individual added to the list of Contributing Authors:
++ .
++ Cosmin Truta
++ .
++ libpng versions 1.0.7, July 1, 2000, through 1.2.5, October 3, 2002, are
++ Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
++ distributed according to the same disclaimer and license as libpng-1.0.6
++ with the following individuals added to the list of Contributing Authors:
++ .
++ Simon-Pierre Cadieux
++ Eric S. Raymond
++ Gilles Vollant
++ .
++ and with the following additions to the disclaimer:
++ .
++ There is no warranty against interference with your enjoyment of the
++ library or against infringement. There is no warranty that our
++ efforts or the library will fulfill any of your particular purposes
++ or needs. This library is provided with all faults, and the entire
++ risk of satisfactory quality, performance, accuracy, and effort is with
++ the user.
++ .
++ libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
++ Copyright (c) 1998, 1999, 2000 Glenn Randers-Pehrson, and are
++ distributed according to the same disclaimer and license as libpng-0.96,
++ with the following individuals added to the list of Contributing Authors:
++ .
++ Tom Lane
++ Glenn Randers-Pehrson
++ Willem van Schaik
++ .
++ libpng versions 0.89, June 1996, through 0.96, May 1997, are
++ Copyright (c) 1996, 1997 Andreas Dilger
++ Distributed according to the same disclaimer and license as libpng-0.88,
++ with the following individuals added to the list of Contributing Authors:
++ .
++ John Bowler
++ Kevin Bracey
++ Sam Bushell
++ Magnus Holmgren
++ Greg Roelofs
++ Tom Tanner
++ .
++ libpng versions 0.5, May 1995, through 0.88, January 1996, are
++ Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
++ .
++ For the purposes of this copyright and license, "Contributing Authors"
++ is defined as the following set of individuals:
++ .
++ Andreas Dilger
++ Dave Martindale
++ Guy Eric Schalnat
++ Paul Schmidt
++ Tim Wegner
++ .
++ The PNG Reference Library is supplied "AS IS". The Contributing Authors
++ and Group 42, Inc. disclaim all warranties, expressed or implied,
++ including, without limitation, the warranties of merchantability and of
++ fitness for any purpose. The Contributing Authors and Group 42, Inc.
++ assume no liability for direct, indirect, incidental, special, exemplary,
++ or consequential damages, which may result from the use of the PNG
++ Reference Library, even if advised of the possibility of such damage.
++ .
++ Permission is hereby granted to use, copy, modify, and distribute this
++ source code, or portions hereof, for any purpose, without fee, subject
++ to the following restrictions:
++ .
++ 1. The origin of this source code must not be misrepresented.
++ .
++ 2. Altered versions must be plainly marked as such and
++ must not be misrepresented as being the original source.
++ .
++ 3. This Copyright notice may not be removed or altered from
++ any source or altered source distribution.
++ .
++ The Contributing Authors and Group 42, Inc. specifically permit, without
++ fee, and encourage the use of this source code as a component to
++ supporting the PNG file format in commercial products. If you use this
++ source code in a product, acknowledgment is not required but would be
++ appreciated.
++ .
++ contrib/pngsuite:
++ --------
++ (c) Willem van Schaik, 1999, 2011
++ .
++ Permission to use, copy, modify, and distribute these images for any
++ purpose and without fee is hereby granted.
++
++License: Apache-2.0
++ Licensed under the Apache License, Version 2.0 (the "License");
++ you may not use this file except in compliance with the License.
++ You may obtain a copy of the License at
++ .
++ http://www.apache.org/licenses/LICENSE-2.0
++ .
++ Unless required by applicable law or agreed to in writing, software
++ distributed under the License is distributed on an "AS IS" BASIS,
++ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
++ See the License for the specific language governing permissions and
++ limitations under the License.
++ .
++ On Debian systems, the full text of the Apache License
++ can be found in the file `/usr/share/common-licenses/Apache-2.0'.
++
++License: BSD-3-clause
++ Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions
++ are met:
++ 1. Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ 2. Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in the
++ documentation and/or other materials provided with the distribution.
++ 3. Neither the name of the University nor the names of its contributors
++ may be used to endorse or promote products derived from this software
++ without specific prior written permission.
++ .
++ THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
++ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
++ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
++ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
++ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
++ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
++ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
++ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
++ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
++ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
++ SUCH DAMAGE.
++
--- /dev/null
--- /dev/null
++libpng-manual.txt
++README
++TODO
--- /dev/null
--- /dev/null
++[DEFAULT]
++upstream-branch=upstream
++debian-branch=master
++pristine-tar = True
++sign-tags = True
--- /dev/null
--- /dev/null
++example.c
++pngtest.c
++pngtest.png
--- /dev/null
--- /dev/null
++usr/bin/libpng-config
++usr/bin/libpng16-config
++usr/include
++usr/lib/*/cmake
++usr/lib/*/libpng
++usr/lib/*/pkgconfig
++usr/lib/*/libpng.a
++usr/lib/*/libpng16.a
++usr/lib/*/libpng.so
++usr/lib/*/libpng16.so
++usr/share/man
--- /dev/null
--- /dev/null
++/usr/include/libpng16 /usr/include/libpng
++/usr/share/man/man1/libpng16-config.1.gz /usr/share/man/man1/libpng-config.1.gz
--- /dev/null
--- /dev/null
++debian/libpng16-config.1
--- /dev/null
--- /dev/null
++usr/bin/png-fix-itxt
++usr/bin/pngfix
--- /dev/null
--- /dev/null
++usr/lib/*/libpng16.so.* usr/lib
--- /dev/null
--- /dev/null
++Document: libpng16
++Title: A description on how to use and modify libpng (version 1.5.X)
++Author: Glenn Randers-Pehrson
++Abstract: This file describes how to use and modify the PNG reference library
++ (known as libpng) for your own use. There are five sections to this
++ file: introduction, structures, reading, writing, and modification and
++ configuration notes for various special platforms. In addition to this
++ file, example.c is a good starting point for using the library, as
++ it is heavily commented and should include everything most people
++ will need. We assume that libpng is already installed; see the
++ INSTALL file for instructions on how to install libpng.
++ .
++ Libpng was written as a companion to the PNG specification, as a way
++ of reducing the amount of time and effort it takes to support the PNG
++ file format in application programs. The PNG specification is available
++ as RFC 2083 <http://www.ietf.org/rfc/rfc2083.txt> and as a
++ W3C Recommendation <http://www.w3.org/TR/REC-png-multi.html>. Some
++ additional chunks are described in the special-purpose public chunks
++ documents at <ftp://ftp.uu.net/graphics/png/documents/>. Other information
++ about PNG, and the latest version of libpng, can be found at the PNG home
++ page, <http://www.libpng.org/pub/png/>.
++Section: Programming
++
++Format: text
++Files: /usr/share/doc/libpng16-16t64/libpng-manual.txt.gz
--- /dev/null
--- /dev/null
++README
++TODO
++ANNOUNCE
++#KNOWNBUG
++libpng-manual.txt
--- /dev/null
--- /dev/null
++usr/lib/*/libpng16.so.*
--- /dev/null
--- /dev/null
++libpng16-16t64: package-name-doesnt-match-sonames libpng16-16
--- /dev/null
--- /dev/null
++libpng16.so.16 libpng16-16t64 #MINVER#
++* Build-Depends-Package: libpng-dev
++ PNG16_0@PNG16_0 1.6.46
++ png_access_version_number@PNG16_0 1.6.46
++ png_set_sig_bytes@PNG16_0 1.6.46
++ png_sig_cmp@PNG16_0 1.6.46
++ png_create_read_struct@PNG16_0 1.6.46
++ png_create_write_struct@PNG16_0 1.6.46
++ png_get_compression_buffer_size@PNG16_0 1.6.46
++ png_set_compression_buffer_size@PNG16_0 1.6.46
++ png_set_longjmp_fn@PNG16_0 1.6.46
++ png_longjmp@PNG16_0 1.6.46
++ png_reset_zstream@PNG16_0 1.6.46
++ png_create_read_struct_2@PNG16_0 1.6.46
++ png_create_write_struct_2@PNG16_0 1.6.46
++ png_write_sig@PNG16_0 1.6.46
++ png_write_chunk@PNG16_0 1.6.46
++ png_write_chunk_start@PNG16_0 1.6.46
++ png_write_chunk_data@PNG16_0 1.6.46
++ png_write_chunk_end@PNG16_0 1.6.46
++ png_create_info_struct@PNG16_0 1.6.46
++ png_info_init_3@PNG16_0 1.6.46
++ png_write_info_before_PLTE@PNG16_0 1.6.46
++ png_write_info@PNG16_0 1.6.46
++ png_read_info@PNG16_0 1.6.46
++ png_convert_to_rfc1123@PNG16_0 1.6.46
++ png_convert_to_rfc1123_buffer@PNG16_0 1.6.46
++ png_convert_from_struct_tm@PNG16_0 1.6.46
++ png_convert_from_time_t@PNG16_0 1.6.46
++ png_set_expand@PNG16_0 1.6.46
++ png_set_expand_gray_1_2_4_to_8@PNG16_0 1.6.46
++ png_set_palette_to_rgb@PNG16_0 1.6.46
++ png_set_tRNS_to_alpha@PNG16_0 1.6.46
++ png_set_expand_16@PNG16_0 1.6.46
++ png_set_bgr@PNG16_0 1.6.46
++ png_set_gray_to_rgb@PNG16_0 1.6.46
++ png_set_rgb_to_gray@PNG16_0 1.6.46
++ png_set_rgb_to_gray_fixed@PNG16_0 1.6.46
++ png_get_rgb_to_gray_status@PNG16_0 1.6.46
++ png_build_grayscale_palette@PNG16_0 1.6.46
++ png_set_alpha_mode@PNG16_0 1.6.46
++ png_set_alpha_mode_fixed@PNG16_0 1.6.46
++ png_set_strip_alpha@PNG16_0 1.6.46
++ png_set_swap_alpha@PNG16_0 1.6.46
++ png_set_invert_alpha@PNG16_0 1.6.46
++ png_set_filler@PNG16_0 1.6.46
++ png_set_add_alpha@PNG16_0 1.6.46
++ png_set_swap@PNG16_0 1.6.46
++ png_set_packing@PNG16_0 1.6.46
++ png_set_packswap@PNG16_0 1.6.46
++ png_set_shift@PNG16_0 1.6.46
++ png_set_interlace_handling@PNG16_0 1.6.46
++ png_set_invert_mono@PNG16_0 1.6.46
++ png_set_background@PNG16_0 1.6.46
++ png_set_background_fixed@PNG16_0 1.6.46
++ png_set_scale_16@PNG16_0 1.6.46
++ png_set_strip_16@PNG16_0 1.6.46
++ png_set_quantize@PNG16_0 1.6.46
++ png_set_gamma@PNG16_0 1.6.46
++ png_set_gamma_fixed@PNG16_0 1.6.46
++ png_set_flush@PNG16_0 1.6.46
++ png_write_flush@PNG16_0 1.6.46
++ png_start_read_image@PNG16_0 1.6.46
++ png_read_update_info@PNG16_0 1.6.46
++ png_read_rows@PNG16_0 1.6.46
++ png_read_row@PNG16_0 1.6.46
++ png_read_image@PNG16_0 1.6.46
++ png_write_row@PNG16_0 1.6.46
++ png_write_rows@PNG16_0 1.6.46
++ png_write_image@PNG16_0 1.6.46
++ png_write_end@PNG16_0 1.6.46
++ png_read_end@PNG16_0 1.6.46
++ png_destroy_info_struct@PNG16_0 1.6.46
++ png_destroy_read_struct@PNG16_0 1.6.46
++ png_destroy_write_struct@PNG16_0 1.6.46
++ png_set_crc_action@PNG16_0 1.6.46
++ png_set_filter@PNG16_0 1.6.46
++ png_set_filter_heuristics@PNG16_0 1.6.46
++ png_set_filter_heuristics_fixed@PNG16_0 1.6.46
++ png_set_compression_level@PNG16_0 1.6.46
++ png_set_compression_mem_level@PNG16_0 1.6.46
++ png_set_compression_strategy@PNG16_0 1.6.46
++ png_set_compression_window_bits@PNG16_0 1.6.46
++ png_set_compression_method@PNG16_0 1.6.46
++ png_set_text_compression_level@PNG16_0 1.6.46
++ png_set_text_compression_mem_level@PNG16_0 1.6.46
++ png_set_text_compression_strategy@PNG16_0 1.6.46
++ png_set_text_compression_window_bits@PNG16_0 1.6.46
++ png_set_text_compression_method@PNG16_0 1.6.46
++ png_init_io@PNG16_0 1.6.46
++ png_set_error_fn@PNG16_0 1.6.46
++ png_get_error_ptr@PNG16_0 1.6.46
++ png_set_write_fn@PNG16_0 1.6.46
++ png_set_read_fn@PNG16_0 1.6.46
++ png_get_io_ptr@PNG16_0 1.6.46
++ png_set_read_status_fn@PNG16_0 1.6.46
++ png_set_write_status_fn@PNG16_0 1.6.46
++ png_set_mem_fn@PNG16_0 1.6.46
++ png_get_mem_ptr@PNG16_0 1.6.46
++ png_set_read_user_transform_fn@PNG16_0 1.6.46
++ png_set_write_user_transform_fn@PNG16_0 1.6.46
++ png_set_user_transform_info@PNG16_0 1.6.46
++ png_get_user_transform_ptr@PNG16_0 1.6.46
++ png_get_current_row_number@PNG16_0 1.6.46
++ png_get_current_pass_number@PNG16_0 1.6.46
++ png_set_read_user_chunk_fn@PNG16_0 1.6.46
++ png_get_user_chunk_ptr@PNG16_0 1.6.46
++ png_set_progressive_read_fn@PNG16_0 1.6.46
++ png_get_progressive_ptr@PNG16_0 1.6.46
++ png_process_data@PNG16_0 1.6.46
++ png_process_data_pause@PNG16_0 1.6.46
++ png_process_data_skip@PNG16_0 1.6.46
++ png_progressive_combine_row@PNG16_0 1.6.46
++ png_malloc@PNG16_0 1.6.46
++ png_calloc@PNG16_0 1.6.46
++ png_malloc_warn@PNG16_0 1.6.46
++ png_free@PNG16_0 1.6.46
++ png_free_data@PNG16_0 1.6.46
++ png_data_freer@PNG16_0 1.6.46
++ png_malloc_default@PNG16_0 1.6.46
++ png_free_default@PNG16_0 1.6.46
++ png_error@PNG16_0 1.6.46
++ png_chunk_error@PNG16_0 1.6.46
++ png_warning@PNG16_0 1.6.46
++ png_chunk_warning@PNG16_0 1.6.46
++ png_benign_error@PNG16_0 1.6.46
++ png_chunk_benign_error@PNG16_0 1.6.46
++ png_set_benign_errors@PNG16_0 1.6.46
++ png_get_valid@PNG16_0 1.6.46
++ png_get_rowbytes@PNG16_0 1.6.46
++ png_get_rows@PNG16_0 1.6.46
++ png_set_rows@PNG16_0 1.6.46
++ png_get_channels@PNG16_0 1.6.46
++ png_get_image_width@PNG16_0 1.6.46
++ png_get_image_height@PNG16_0 1.6.46
++ png_get_bit_depth@PNG16_0 1.6.46
++ png_get_color_type@PNG16_0 1.6.46
++ png_get_filter_type@PNG16_0 1.6.46
++ png_get_interlace_type@PNG16_0 1.6.46
++ png_get_compression_type@PNG16_0 1.6.46
++ png_get_pixels_per_meter@PNG16_0 1.6.46
++ png_get_x_pixels_per_meter@PNG16_0 1.6.46
++ png_get_y_pixels_per_meter@PNG16_0 1.6.46
++ png_get_pixel_aspect_ratio@PNG16_0 1.6.46
++ png_get_pixel_aspect_ratio_fixed@PNG16_0 1.6.46
++ png_get_x_offset_pixels@PNG16_0 1.6.46
++ png_get_y_offset_pixels@PNG16_0 1.6.46
++ png_get_x_offset_microns@PNG16_0 1.6.46
++ png_get_y_offset_microns@PNG16_0 1.6.46
++ png_get_signature@PNG16_0 1.6.46
++ png_get_bKGD@PNG16_0 1.6.46
++ png_set_bKGD@PNG16_0 1.6.46
++ png_get_cHRM@PNG16_0 1.6.46
++ png_get_cHRM_XYZ@PNG16_0 1.6.46
++ png_get_cHRM_fixed@PNG16_0 1.6.46
++ png_get_cHRM_XYZ_fixed@PNG16_0 1.6.46
++ png_set_cHRM@PNG16_0 1.6.46
++ png_set_cHRM_XYZ@PNG16_0 1.6.46
++ png_set_cHRM_fixed@PNG16_0 1.6.46
++ png_set_cHRM_XYZ_fixed@PNG16_0 1.6.46
++ png_get_cICP@PNG16_0 1.6.46
++ png_set_cICP@PNG16_0 1.6.46
++ png_get_cLLI@PNG16_0 1.6.46
++ png_get_cLLI_fixed@PNG16_0 1.6.46
++ png_set_cLLI@PNG16_0 1.6.46
++ png_set_cLLI_fixed@PNG16_0 1.6.46
++ png_get_eXIf@PNG16_0 1.6.46
++ png_set_eXIf@PNG16_0 1.6.46
++ png_get_eXIf_1@PNG16_0 1.6.46
++ png_set_eXIf_1@PNG16_0 1.6.46
++ png_get_gAMA@PNG16_0 1.6.46
++ png_get_gAMA_fixed@PNG16_0 1.6.46
++ png_set_gAMA@PNG16_0 1.6.46
++ png_set_gAMA_fixed@PNG16_0 1.6.46
++ png_get_hIST@PNG16_0 1.6.46
++ png_set_hIST@PNG16_0 1.6.46
++ png_get_IHDR@PNG16_0 1.6.46
++ png_set_IHDR@PNG16_0 1.6.46
++ png_get_mDCV@PNG16_0 1.6.46
++ png_get_mDCV_fixed@PNG16_0 1.6.46
++ png_set_mDCV@PNG16_0 1.6.46
++ png_set_mDCV_fixed@PNG16_0 1.6.46
++ png_get_oFFs@PNG16_0 1.6.46
++ png_set_oFFs@PNG16_0 1.6.46
++ png_get_pCAL@PNG16_0 1.6.46
++ png_set_pCAL@PNG16_0 1.6.46
++ png_get_pHYs@PNG16_0 1.6.46
++ png_set_pHYs@PNG16_0 1.6.46
++ png_get_PLTE@PNG16_0 1.6.46
++ png_set_PLTE@PNG16_0 1.6.46
++ png_get_sBIT@PNG16_0 1.6.46
++ png_set_sBIT@PNG16_0 1.6.46
++ png_get_sRGB@PNG16_0 1.6.46
++ png_set_sRGB@PNG16_0 1.6.46
++ png_set_sRGB_gAMA_and_cHRM@PNG16_0 1.6.46
++ png_get_iCCP@PNG16_0 1.6.46
++ png_set_iCCP@PNG16_0 1.6.46
++ png_get_sPLT@PNG16_0 1.6.46
++ png_set_sPLT@PNG16_0 1.6.46
++ png_get_text@PNG16_0 1.6.46
++ png_set_text@PNG16_0 1.6.46
++ png_get_tIME@PNG16_0 1.6.46
++ png_set_tIME@PNG16_0 1.6.46
++ png_get_tRNS@PNG16_0 1.6.46
++ png_set_tRNS@PNG16_0 1.6.46
++ png_get_sCAL@PNG16_0 1.6.46
++ png_get_sCAL_fixed@PNG16_0 1.6.46
++ png_get_sCAL_s@PNG16_0 1.6.46
++ png_set_sCAL@PNG16_0 1.6.46
++ png_set_sCAL_fixed@PNG16_0 1.6.46
++ png_set_sCAL_s@PNG16_0 1.6.46
++ png_set_keep_unknown_chunks@PNG16_0 1.6.46
++ png_handle_as_unknown@PNG16_0 1.6.46
++ png_set_unknown_chunks@PNG16_0 1.6.46
++ png_set_unknown_chunk_location@PNG16_0 1.6.46
++ png_get_unknown_chunks@PNG16_0 1.6.46
++ png_set_invalid@PNG16_0 1.6.46
++ png_read_png@PNG16_0 1.6.46
++ png_write_png@PNG16_0 1.6.46
++ png_get_copyright@PNG16_0 1.6.46
++ png_get_header_ver@PNG16_0 1.6.46
++ png_get_header_version@PNG16_0 1.6.46
++ png_get_libpng_ver@PNG16_0 1.6.46
++ png_permit_mng_features@PNG16_0 1.6.46
++ png_set_user_limits@PNG16_0 1.6.46
++ png_get_user_width_max@PNG16_0 1.6.46
++ png_get_user_height_max@PNG16_0 1.6.46
++ png_set_chunk_cache_max@PNG16_0 1.6.46
++ png_get_chunk_cache_max@PNG16_0 1.6.46
++ png_set_chunk_malloc_max@PNG16_0 1.6.46
++ png_get_chunk_malloc_max@PNG16_0 1.6.46
++ png_get_pixels_per_inch@PNG16_0 1.6.46
++ png_get_x_pixels_per_inch@PNG16_0 1.6.46
++ png_get_y_pixels_per_inch@PNG16_0 1.6.46
++ png_get_x_offset_inches@PNG16_0 1.6.46
++ png_get_x_offset_inches_fixed@PNG16_0 1.6.46
++ png_get_y_offset_inches@PNG16_0 1.6.46
++ png_get_y_offset_inches_fixed@PNG16_0 1.6.46
++ png_get_pHYs_dpi@PNG16_0 1.6.46
++ png_get_io_state@PNG16_0 1.6.46
++ png_get_io_chunk_type@PNG16_0 1.6.46
++ png_get_uint_32@PNG16_0 1.6.46
++ png_get_uint_16@PNG16_0 1.6.46
++ png_get_int_32@PNG16_0 1.6.46
++ png_get_uint_31@PNG16_0 1.6.46
++ png_save_uint_32@PNG16_0 1.6.46
++ png_save_int_32@PNG16_0 1.6.46
++ png_save_uint_16@PNG16_0 1.6.46
++ png_set_check_for_invalid_index@PNG16_0 1.6.46
++ png_get_palette_max@PNG16_0 1.6.46
++ png_image_begin_read_from_file@PNG16_0 1.6.46
++ png_image_begin_read_from_stdio@PNG16_0 1.6.46
++ png_image_begin_read_from_memory@PNG16_0 1.6.46
++ png_image_finish_read@PNG16_0 1.6.46
++ png_image_free@PNG16_0 1.6.46
++ png_image_write_to_file@PNG16_0 1.6.46
++ png_image_write_to_stdio@PNG16_0 1.6.46
++ png_image_write_to_memory@PNG16_0 1.6.46
++ png_set_option@PNG16_0 1.6.46
--- /dev/null
--- /dev/null
++.TH libpng16-config 1 "15 Apr 2011" "libpng" "Debian GNU/Linux"
++.SH NAME
++libpng16-config \- get information about installed libpng library
++.SH SYNOPSIS
++.B libpng16-config
++[\fIOPTION\fR] ...
++.SH DESCRIPTION
++Provides information about libpng library.
++
++Known values for OPTION are:
++.TP
++\fB\-\-prefix\fR
++print libpng prefix
++.TP
++\fB\-\-libdir\fR
++print path to directory containing library
++.TP
++\fB\-\-libs\fR
++print library linking information
++.TP
++\fB\-\-ccopts\fR
++print compiler options
++.TP
++\fB\-\-cppflags\fR
++print pre-processor flags
++.TP
++\fB\-\-cflags\fR
++print preprocessor flags, I_opts, and compiler options
++.TP
++\fB\-\-I_opts\fR
++print "-I" include options
++.TP
++\fB\-\-L_opts\fR
++print linker "-L" flags for dynamic linking
++.TP
++\fB\-\-R_opts\fR
++print dynamic linker "-R" or "-rpath" flags
++.TP
++\fB\-\-ldopts\fR
++print linker options
++.TP
++\fB\-\-ldflags\fR
++print linker flags (ldopts, L_opts, R_opts, and libs)
++.TP
++\fB\-\-static\fR
++revise subsequent outputs for static linking
++.TP
++\fB\-\-help\fR
++print this help and exit
++.TP
++\fB\-\-version\fR
++print version information
++.SH "AUTHOR"
++This manpage has been written by Junichi Uekawa <dancer@debian.org>
++for Debian GNU/Linux system, with the help of help2man, and
++may be used by others.
++
++
--- /dev/null
--- /dev/null
++libpng.3
++png.5
--- /dev/null
--- /dev/null
++usr/bin/png-fix-itxt
++usr/bin/pngfix
--- /dev/null
--- /dev/null
++usr/lib/*/libpng*.la
--- /dev/null
--- /dev/null
++diff -Naru libpng-1.6.39.org/png.h libpng-1.6.39/png.h
++--- libpng-1.6.39.org/png.h 2022-11-24 08:37:51.507052183 +0900
+++++ libpng-1.6.39/png.h 2022-11-24 08:41:17.785489740 +0900
++@@ -330,6 +330,10 @@
++ # include "pnglibconf.h"
++ #endif
++
+++#define PNG_APNG_SUPPORTED
+++#define PNG_READ_APNG_SUPPORTED
+++#define PNG_WRITE_APNG_SUPPORTED
+++
++ #ifndef PNG_VERSION_INFO_ONLY
++ /* Machine specific configuration. */
++ # include "pngconf.h"
++@@ -425,6 +429,17 @@
++ * See pngconf.h for base types that vary by machine/system
++ */
++
+++#ifdef PNG_APNG_SUPPORTED
+++/* dispose_op flags from inside fcTL */
+++#define PNG_DISPOSE_OP_NONE 0x00U
+++#define PNG_DISPOSE_OP_BACKGROUND 0x01U
+++#define PNG_DISPOSE_OP_PREVIOUS 0x02U
+++
+++/* blend_op flags from inside fcTL */
+++#define PNG_BLEND_OP_SOURCE 0x00U
+++#define PNG_BLEND_OP_OVER 0x01U
+++#endif /* PNG_APNG_SUPPORTED */
+++
++ /* This triggers a compiler error in png.c, if png.c and png.h
++ * do not agree upon the version number.
++ */
++@@ -746,6 +761,10 @@
++ #define PNG_INFO_sCAL 0x4000U /* ESR, 1.0.6 */
++ #define PNG_INFO_IDAT 0x8000U /* ESR, 1.0.6 */
++ #define PNG_INFO_eXIf 0x10000U /* GR-P, 1.6.31 */
+++#ifdef PNG_APNG_SUPPORTED
+++#define PNG_INFO_acTL 0x20000U
+++#define PNG_INFO_fcTL 0x40000U
+++#endif
++
++ /* This is used for the transformation routines, as some of them
++ * change these values for the row. It also should enable using
++@@ -783,6 +802,10 @@
++ #ifdef PNG_PROGRESSIVE_READ_SUPPORTED
++ typedef PNG_CALLBACK(void, *png_progressive_info_ptr, (png_structp, png_infop));
++ typedef PNG_CALLBACK(void, *png_progressive_end_ptr, (png_structp, png_infop));
+++#ifdef PNG_APNG_SUPPORTED
+++typedef PNG_CALLBACK(void, *png_progressive_frame_ptr, (png_structp,
+++ png_uint_32));
+++#endif
++
++ /* The following callback receives png_uint_32 row_number, int pass for the
++ * png_bytep data of the row. When transforming an interlaced image the
++@@ -3226,6 +3249,74 @@
++ /*******************************************************************************
++ * END OF HARDWARE AND SOFTWARE OPTIONS
++ ******************************************************************************/
+++#ifdef PNG_APNG_SUPPORTED
+++PNG_EXPORT(250, png_uint_32, png_get_acTL, (png_structp png_ptr,
+++ png_infop info_ptr, png_uint_32 *num_frames, png_uint_32 *num_plays));
+++
+++PNG_EXPORT(251, png_uint_32, png_set_acTL, (png_structp png_ptr,
+++ png_infop info_ptr, png_uint_32 num_frames, png_uint_32 num_plays));
+++
+++PNG_EXPORT(252, png_uint_32, png_get_num_frames, (png_structp png_ptr,
+++ png_infop info_ptr));
+++
+++PNG_EXPORT(253, png_uint_32, png_get_num_plays, (png_structp png_ptr,
+++ png_infop info_ptr));
+++
+++PNG_EXPORT(254, png_uint_32, png_get_next_frame_fcTL,
+++ (png_structp png_ptr, png_infop info_ptr, png_uint_32 *width,
+++ png_uint_32 *height, png_uint_32 *x_offset, png_uint_32 *y_offset,
+++ png_uint_16 *delay_num, png_uint_16 *delay_den, png_byte *dispose_op,
+++ png_byte *blend_op));
+++
+++PNG_EXPORT(255, png_uint_32, png_set_next_frame_fcTL,
+++ (png_structp png_ptr, png_infop info_ptr, png_uint_32 width,
+++ png_uint_32 height, png_uint_32 x_offset, png_uint_32 y_offset,
+++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
+++ png_byte blend_op));
+++
+++PNG_EXPORT(256, png_uint_32, png_get_next_frame_width,
+++ (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(257, png_uint_32, png_get_next_frame_height,
+++ (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(258, png_uint_32, png_get_next_frame_x_offset,
+++ (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(259, png_uint_32, png_get_next_frame_y_offset,
+++ (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(260, png_uint_16, png_get_next_frame_delay_num,
+++ (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(261, png_uint_16, png_get_next_frame_delay_den,
+++ (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(262, png_byte, png_get_next_frame_dispose_op,
+++ (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(263, png_byte, png_get_next_frame_blend_op,
+++ (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(264, png_byte, png_get_first_frame_is_hidden,
+++ (png_structp png_ptr, png_infop info_ptr));
+++PNG_EXPORT(265, png_uint_32, png_set_first_frame_is_hidden,
+++ (png_structp png_ptr, png_infop info_ptr, png_byte is_hidden));
+++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++PNG_EXPORT(266, void, png_read_frame_head, (png_structp png_ptr,
+++ png_infop info_ptr));
+++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
+++PNG_EXPORT(267, void, png_set_progressive_frame_fn, (png_structp png_ptr,
+++ png_progressive_frame_ptr frame_info_fn,
+++ png_progressive_frame_ptr frame_end_fn));
+++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
+++#endif /* PNG_READ_APNG_SUPPORTED */
+++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++PNG_EXPORT(268, void, png_write_frame_head, (png_structp png_ptr,
+++ png_infop info_ptr, png_bytepp row_pointers,
+++ png_uint_32 width, png_uint_32 height,
+++ png_uint_32 x_offset, png_uint_32 y_offset,
+++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
+++ png_byte blend_op));
+++
+++PNG_EXPORT(269, void, png_write_frame_tail, (png_structp png_ptr,
+++ png_infop info_ptr));
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
+++#endif /* PNG_APNG_SUPPORTED */
++
++ /* Maintainer: Put new public prototypes here ^, in libpng.3, in project
++ * defs, and in scripts/symbols.def.
++@@ -3235,7 +3326,11 @@
++ * one to use is one more than this.)
++ */
++ #ifdef PNG_EXPORT_LAST_ORDINAL
+++#ifdef PNG_APNG_SUPPORTED
+++ PNG_EXPORT_LAST_ORDINAL(269);
+++#else
++ PNG_EXPORT_LAST_ORDINAL(249);
+++#endif /* PNG_APNG_SUPPORTED */
++ #endif
++
++ #ifdef __cplusplus
++diff -Naru libpng-1.6.39.org/pngget.c libpng-1.6.39/pngget.c
++--- libpng-1.6.39.org/pngget.c 2022-11-24 08:37:51.507052183 +0900
+++++ libpng-1.6.39/pngget.c 2022-11-24 08:41:17.785489740 +0900
++@@ -1246,4 +1246,166 @@
++ # endif
++ #endif
++
+++#ifdef PNG_APNG_SUPPORTED
+++png_uint_32 PNGAPI
+++png_get_acTL(png_structp png_ptr, png_infop info_ptr,
+++ png_uint_32 *num_frames, png_uint_32 *num_plays)
+++{
+++ png_debug1(1, "in %s retrieval function", "acTL");
+++
+++ if (png_ptr != NULL && info_ptr != NULL &&
+++ (info_ptr->valid & PNG_INFO_acTL) &&
+++ num_frames != NULL && num_plays != NULL)
+++ {
+++ *num_frames = info_ptr->num_frames;
+++ *num_plays = info_ptr->num_plays;
+++ return (1);
+++ }
+++
+++ return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_num_frames(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_get_num_frames()");
+++
+++ if (png_ptr != NULL && info_ptr != NULL)
+++ return (info_ptr->num_frames);
+++ return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_num_plays(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_get_num_plays()");
+++
+++ if (png_ptr != NULL && info_ptr != NULL)
+++ return (info_ptr->num_plays);
+++ return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr,
+++ png_uint_32 *width, png_uint_32 *height,
+++ png_uint_32 *x_offset, png_uint_32 *y_offset,
+++ png_uint_16 *delay_num, png_uint_16 *delay_den,
+++ png_byte *dispose_op, png_byte *blend_op)
+++{
+++ png_debug1(1, "in %s retrieval function", "fcTL");
+++
+++ if (png_ptr != NULL && info_ptr != NULL &&
+++ (info_ptr->valid & PNG_INFO_fcTL) &&
+++ width != NULL && height != NULL &&
+++ x_offset != NULL && y_offset != NULL &&
+++ delay_num != NULL && delay_den != NULL &&
+++ dispose_op != NULL && blend_op != NULL)
+++ {
+++ *width = info_ptr->next_frame_width;
+++ *height = info_ptr->next_frame_height;
+++ *x_offset = info_ptr->next_frame_x_offset;
+++ *y_offset = info_ptr->next_frame_y_offset;
+++ *delay_num = info_ptr->next_frame_delay_num;
+++ *delay_den = info_ptr->next_frame_delay_den;
+++ *dispose_op = info_ptr->next_frame_dispose_op;
+++ *blend_op = info_ptr->next_frame_blend_op;
+++ return (1);
+++ }
+++
+++ return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_next_frame_width(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_get_next_frame_width()");
+++
+++ if (png_ptr != NULL && info_ptr != NULL)
+++ return (info_ptr->next_frame_width);
+++ return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_next_frame_height(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_get_next_frame_height()");
+++
+++ if (png_ptr != NULL && info_ptr != NULL)
+++ return (info_ptr->next_frame_height);
+++ return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_next_frame_x_offset(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_get_next_frame_x_offset()");
+++
+++ if (png_ptr != NULL && info_ptr != NULL)
+++ return (info_ptr->next_frame_x_offset);
+++ return (0);
+++}
+++
+++png_uint_32 PNGAPI
+++png_get_next_frame_y_offset(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_get_next_frame_y_offset()");
+++
+++ if (png_ptr != NULL && info_ptr != NULL)
+++ return (info_ptr->next_frame_y_offset);
+++ return (0);
+++}
+++
+++png_uint_16 PNGAPI
+++png_get_next_frame_delay_num(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_get_next_frame_delay_num()");
+++
+++ if (png_ptr != NULL && info_ptr != NULL)
+++ return (info_ptr->next_frame_delay_num);
+++ return (0);
+++}
+++
+++png_uint_16 PNGAPI
+++png_get_next_frame_delay_den(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_get_next_frame_delay_den()");
+++
+++ if (png_ptr != NULL && info_ptr != NULL)
+++ return (info_ptr->next_frame_delay_den);
+++ return (0);
+++}
+++
+++png_byte PNGAPI
+++png_get_next_frame_dispose_op(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_get_next_frame_dispose_op()");
+++
+++ if (png_ptr != NULL && info_ptr != NULL)
+++ return (info_ptr->next_frame_dispose_op);
+++ return (0);
+++}
+++
+++png_byte PNGAPI
+++png_get_next_frame_blend_op(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_get_next_frame_blend_op()");
+++
+++ if (png_ptr != NULL && info_ptr != NULL)
+++ return (info_ptr->next_frame_blend_op);
+++ return (0);
+++}
+++
+++png_byte PNGAPI
+++png_get_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_first_frame_is_hidden()");
+++
+++ if (png_ptr != NULL)
+++ return (png_byte)(png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN);
+++
+++ PNG_UNUSED(info_ptr)
+++
+++ return 0;
+++}
+++#endif /* PNG_APNG_SUPPORTED */
++ #endif /* READ || WRITE */
++diff -Naru libpng-1.6.39.org/pnginfo.h libpng-1.6.39/pnginfo.h
++--- libpng-1.6.39.org/pnginfo.h 2022-11-24 08:37:51.507052183 +0900
+++++ libpng-1.6.39/pnginfo.h 2022-11-24 08:41:17.785489740 +0900
++@@ -263,5 +263,18 @@
++ png_bytepp row_pointers; /* the image bits */
++ #endif
++
+++#ifdef PNG_APNG_SUPPORTED
+++ png_uint_32 num_frames; /* including default image */
+++ png_uint_32 num_plays;
+++ png_uint_32 next_frame_width;
+++ png_uint_32 next_frame_height;
+++ png_uint_32 next_frame_x_offset;
+++ png_uint_32 next_frame_y_offset;
+++ png_uint_16 next_frame_delay_num;
+++ png_uint_16 next_frame_delay_den;
+++ png_byte next_frame_dispose_op;
+++ png_byte next_frame_blend_op;
+++#endif
+++
++ };
++ #endif /* PNGINFO_H */
++diff -Naru libpng-1.6.39.org/pngpread.c libpng-1.6.39/pngpread.c
++--- libpng-1.6.39.org/pngpread.c 2022-11-24 08:37:51.507052183 +0900
+++++ libpng-1.6.39/pngpread.c 2022-11-24 08:41:17.785489740 +0900
++@@ -195,6 +195,106 @@
++
++ chunk_name = png_ptr->chunk_name;
++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ if (png_ptr->num_frames_read > 0 &&
+++ png_ptr->num_frames_read < info_ptr->num_frames)
+++ {
+++ if (chunk_name == png_IDAT)
+++ {
+++ /* Discard trailing IDATs for the first frame */
+++ if (png_ptr->mode & PNG_HAVE_fcTL || png_ptr->num_frames_read > 1)
+++ png_error(png_ptr, "out of place IDAT");
+++
+++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++ {
+++ png_push_save_buffer(png_ptr);
+++ return;
+++ }
+++
+++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+++ return;
+++ }
+++ else if (chunk_name == png_fdAT)
+++ {
+++ if (png_ptr->buffer_size < 4)
+++ {
+++ png_push_save_buffer(png_ptr);
+++ return;
+++ }
+++
+++ png_ensure_sequence_number(png_ptr, 4);
+++
+++ if (!(png_ptr->mode & PNG_HAVE_fcTL))
+++ {
+++ /* Discard trailing fdATs for frames other than the first */
+++ if (png_ptr->num_frames_read < 2)
+++ png_error(png_ptr, "out of place fdAT");
+++
+++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++ {
+++ png_push_save_buffer(png_ptr);
+++ return;
+++ }
+++
+++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+++ return;
+++ }
+++
+++ else
+++ {
+++ /* frame data follows */
+++ png_ptr->idat_size = png_ptr->push_length - 4;
+++ png_ptr->mode |= PNG_HAVE_IDAT;
+++ png_ptr->process_mode = PNG_READ_IDAT_MODE;
+++
+++ return;
+++ }
+++ }
+++
+++ else if (chunk_name == png_fcTL)
+++ {
+++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++ {
+++ png_push_save_buffer(png_ptr);
+++ return;
+++ }
+++
+++ png_read_reset(png_ptr);
+++ png_ptr->mode &= ~PNG_HAVE_fcTL;
+++
+++ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length);
+++
+++ if (!(png_ptr->mode & PNG_HAVE_fcTL))
+++ png_error(png_ptr, "missing required fcTL chunk");
+++
+++ png_read_reinit(png_ptr, info_ptr);
+++ png_progressive_read_reset(png_ptr);
+++
+++ if (png_ptr->frame_info_fn != NULL)
+++ (*(png_ptr->frame_info_fn))(png_ptr, png_ptr->num_frames_read);
+++
+++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+++
+++ return;
+++ }
+++
+++ else
+++ {
+++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++ {
+++ png_push_save_buffer(png_ptr);
+++ return;
+++ }
+++ png_warning(png_ptr, "Skipped (ignored) a chunk "
+++ "between APNG chunks");
+++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+++ return;
+++ }
+++
+++ return;
+++ }
+++#endif /* PNG_READ_APNG_SUPPORTED */
+++
++ if (chunk_name == png_IDAT)
++ {
++ if ((png_ptr->mode & PNG_AFTER_IDAT) != 0)
++@@ -261,6 +361,9 @@
++
++ else if (chunk_name == png_IDAT)
++ {
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ png_have_info(png_ptr, info_ptr);
+++#endif
++ png_ptr->idat_size = png_ptr->push_length;
++ png_ptr->process_mode = PNG_READ_IDAT_MODE;
++ png_push_have_info(png_ptr, info_ptr);
++@@ -406,6 +509,30 @@
++ png_handle_iTXt(png_ptr, info_ptr, png_ptr->push_length);
++ }
++ #endif
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ else if (chunk_name == png_acTL)
+++ {
+++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++ {
+++ png_push_save_buffer(png_ptr);
+++ return;
+++ }
+++
+++ png_handle_acTL(png_ptr, info_ptr, png_ptr->push_length);
+++ }
+++
+++ else if (chunk_name == png_fcTL)
+++ {
+++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++ {
+++ png_push_save_buffer(png_ptr);
+++ return;
+++ }
+++
+++ png_handle_fcTL(png_ptr, info_ptr, png_ptr->push_length);
+++ }
+++
+++#endif /* PNG_READ_APNG_SUPPORTED */
++
++ else
++ {
++@@ -539,7 +666,11 @@
++ png_byte chunk_tag[4];
++
++ /* TODO: this code can be commoned up with the same code in push_read */
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ PNG_PUSH_SAVE_BUFFER_IF_LT(12)
+++#else
++ PNG_PUSH_SAVE_BUFFER_IF_LT(8)
+++#endif
++ png_push_fill_buffer(png_ptr, chunk_length, 4);
++ png_ptr->push_length = png_get_uint_31(png_ptr, chunk_length);
++ png_reset_crc(png_ptr);
++@@ -547,17 +678,64 @@
++ png_ptr->chunk_name = PNG_CHUNK_FROM_STRING(chunk_tag);
++ png_ptr->mode |= PNG_HAVE_CHUNK_HEADER;
++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ if (png_ptr->chunk_name != png_fdAT && png_ptr->num_frames_read > 0)
+++ {
+++ if (png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED)
+++ {
+++ png_ptr->process_mode = PNG_READ_CHUNK_MODE;
+++ if (png_ptr->frame_end_fn != NULL)
+++ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read);
+++ png_ptr->num_frames_read++;
+++ return;
+++ }
+++ else
+++ {
+++ if (png_ptr->chunk_name == png_IEND)
+++ png_error(png_ptr, "Not enough image data");
+++ if (png_ptr->push_length + 4 > png_ptr->buffer_size)
+++ {
+++ png_push_save_buffer(png_ptr);
+++ return;
+++ }
+++ png_warning(png_ptr, "Skipping (ignoring) a chunk between "
+++ "APNG chunks");
+++ png_crc_finish(png_ptr, png_ptr->push_length);
+++ png_ptr->mode &= ~PNG_HAVE_CHUNK_HEADER;
+++ return;
+++ }
+++ }
+++ else
+++#endif
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ if (png_ptr->chunk_name != png_IDAT && png_ptr->num_frames_read == 0)
+++#else
++ if (png_ptr->chunk_name != png_IDAT)
+++#endif
++ {
++ png_ptr->process_mode = PNG_READ_CHUNK_MODE;
++
++ if ((png_ptr->flags & PNG_FLAG_ZSTREAM_ENDED) == 0)
++ png_error(png_ptr, "Not enough compressed data");
++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ if (png_ptr->frame_end_fn != NULL)
+++ (*(png_ptr->frame_end_fn))(png_ptr, png_ptr->num_frames_read);
+++ png_ptr->num_frames_read++;
+++#endif
+++
++ return;
++ }
++
++ png_ptr->idat_size = png_ptr->push_length;
+++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ if (png_ptr->num_frames_read > 0)
+++ {
+++ png_ensure_sequence_number(png_ptr, 4);
+++ png_ptr->idat_size -= 4;
+++ }
+++#endif
++ }
++
++ if (png_ptr->idat_size != 0 && png_ptr->save_buffer_size != 0)
++@@ -631,6 +809,15 @@
++ if (!(buffer_length > 0) || buffer == NULL)
++ png_error(png_ptr, "No IDAT data (internal error)");
++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ /* If the app is not APNG-aware, decode only the first frame */
+++ if (!(png_ptr->apng_flags & PNG_APNG_APP) && png_ptr->num_frames_read > 0)
+++ {
+++ png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED;
+++ return;
+++ }
+++#endif
+++
++ /* This routine must process all the data it has been given
++ * before returning, calling the row callback as required to
++ * handle the uncompressed results.
++@@ -1085,6 +1272,18 @@
++ png_set_read_fn(png_ptr, progressive_ptr, png_push_fill_buffer);
++ }
++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++void PNGAPI
+++png_set_progressive_frame_fn(png_structp png_ptr,
+++ png_progressive_frame_ptr frame_info_fn,
+++ png_progressive_frame_ptr frame_end_fn)
+++{
+++ png_ptr->frame_info_fn = frame_info_fn;
+++ png_ptr->frame_end_fn = frame_end_fn;
+++ png_ptr->apng_flags |= PNG_APNG_APP;
+++}
+++#endif
+++
++ png_voidp PNGAPI
++ png_get_progressive_ptr(png_const_structrp png_ptr)
++ {
++diff -Naru libpng-1.6.39.org/pngpriv.h libpng-1.6.39/pngpriv.h
++--- libpng-1.6.39.org/pngpriv.h 2022-11-24 08:37:51.508052181 +0900
+++++ libpng-1.6.39/pngpriv.h 2022-11-24 08:41:17.785489740 +0900
++@@ -628,6 +628,10 @@
++ #define PNG_HAVE_CHUNK_AFTER_IDAT 0x2000U /* Have another chunk after IDAT */
++ /* 0x4000U (unused) */
++ #define PNG_IS_READ_STRUCT 0x8000U /* Else is a write struct */
+++#ifdef PNG_APNG_SUPPORTED
+++#define PNG_HAVE_acTL 0x10000U
+++#define PNG_HAVE_fcTL 0x20000U
+++#endif
++
++ /* Flags for the transformations the PNG library does on the image data */
++ #define PNG_BGR 0x0001U
++@@ -864,6 +868,16 @@
++ #define png_tRNS PNG_U32(116, 82, 78, 83)
++ #define png_zTXt PNG_U32(122, 84, 88, 116)
++
+++#ifdef PNG_APNG_SUPPORTED
+++#define png_acTL PNG_U32( 97, 99, 84, 76)
+++#define png_fcTL PNG_U32(102, 99, 84, 76)
+++#define png_fdAT PNG_U32(102, 100, 65, 84)
+++
+++/* For png_struct.apng_flags: */
+++#define PNG_FIRST_FRAME_HIDDEN 0x0001U
+++#define PNG_APNG_APP 0x0002U
+++#endif
+++
++ /* The following will work on (signed char*) strings, whereas the get_uint_32
++ * macro will fail on top-bit-set values because of the sign extension.
++ */
++@@ -1635,6 +1649,47 @@
++ */
++ #endif
++
+++#ifdef PNG_APNG_SUPPORTED
+++PNG_INTERNAL_FUNCTION(void,png_ensure_fcTL_is_valid,(png_structp png_ptr,
+++ png_uint_32 width, png_uint_32 height,
+++ png_uint_32 x_offset, png_uint_32 y_offset,
+++ png_uint_16 delay_num, png_uint_16 delay_den,
+++ png_byte dispose_op, png_byte blend_op), PNG_EMPTY);
+++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++PNG_INTERNAL_FUNCTION(void,png_handle_acTL,(png_structp png_ptr, png_infop info_ptr,
+++ png_uint_32 length),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_handle_fcTL,(png_structp png_ptr, png_infop info_ptr,
+++ png_uint_32 length),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_handle_fdAT,(png_structp png_ptr, png_infop info_ptr,
+++ png_uint_32 length),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_have_info,(png_structp png_ptr, png_infop info_ptr),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_ensure_sequence_number,(png_structp png_ptr,
+++ png_uint_32 length),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_read_reset,(png_structp png_ptr),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_read_reinit,(png_structp png_ptr,
+++ png_infop info_ptr),PNG_EMPTY);
+++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
+++PNG_INTERNAL_FUNCTION(void,png_progressive_read_reset,(png_structp png_ptr),PNG_EMPTY);
+++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
+++#endif /* PNG_READ_APNG_SUPPORTED */
+++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++PNG_INTERNAL_FUNCTION(void,png_write_acTL,(png_structp png_ptr,
+++ png_uint_32 num_frames, png_uint_32 num_plays),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_write_fcTL,(png_structp png_ptr,
+++ png_uint_32 width, png_uint_32 height,
+++ png_uint_32 x_offset, png_uint_32 y_offset,
+++ png_uint_16 delay_num, png_uint_16 delay_den,
+++ png_byte dispose_op, png_byte blend_op),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_write_fdAT,(png_structp png_ptr,
+++ png_const_bytep data, png_size_t length),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_write_reset,(png_structp png_ptr),PNG_EMPTY);
+++PNG_INTERNAL_FUNCTION(void,png_write_reinit,(png_structp png_ptr,
+++ png_infop info_ptr, png_uint_32 width, png_uint_32 height),PNG_EMPTY);
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
+++#endif /* PNG_APNG_SUPPORTED */
+++
++ /* Added at libpng version 1.4.0 */
++ #ifdef PNG_COLORSPACE_SUPPORTED
++ /* These internal functions are for maintaining the colorspace structure within
++diff -Naru libpng-1.6.39.org/pngread.c libpng-1.6.39/pngread.c
++--- libpng-1.6.39.org/pngread.c 2022-11-24 08:37:51.508052181 +0900
+++++ libpng-1.6.39/pngread.c 2022-11-24 08:41:17.786489737 +0900
++@@ -161,6 +161,9 @@
++
++ else if (chunk_name == png_IDAT)
++ {
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ png_have_info(png_ptr, info_ptr);
+++#endif
++ png_ptr->idat_size = length;
++ break;
++ }
++@@ -255,6 +258,17 @@
++ png_handle_iTXt(png_ptr, info_ptr, length);
++ #endif
++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ else if (chunk_name == png_acTL)
+++ png_handle_acTL(png_ptr, info_ptr, length);
+++
+++ else if (chunk_name == png_fcTL)
+++ png_handle_fcTL(png_ptr, info_ptr, length);
+++
+++ else if (chunk_name == png_fdAT)
+++ png_handle_fdAT(png_ptr, info_ptr, length);
+++#endif
+++
++ else
++ png_handle_unknown(png_ptr, info_ptr, length,
++ PNG_HANDLE_CHUNK_AS_DEFAULT);
++@@ -262,6 +276,72 @@
++ }
++ #endif /* SEQUENTIAL_READ */
++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++void PNGAPI
+++png_read_frame_head(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_byte have_chunk_after_DAT; /* after IDAT or after fdAT */
+++
+++ png_debug(0, "Reading frame head");
+++
+++ if (!(png_ptr->mode & PNG_HAVE_acTL))
+++ png_error(png_ptr, "attempt to png_read_frame_head() but "
+++ "no acTL present");
+++
+++ /* do nothing for the main IDAT */
+++ if (png_ptr->num_frames_read == 0)
+++ return;
+++
+++ png_read_reset(png_ptr);
+++ png_ptr->flags &= ~PNG_FLAG_ROW_INIT;
+++ png_ptr->mode &= ~PNG_HAVE_fcTL;
+++
+++ have_chunk_after_DAT = 0;
+++ for (;;)
+++ {
+++ png_uint_32 length = png_read_chunk_header(png_ptr);
+++
+++ if (png_ptr->chunk_name == png_IDAT)
+++ {
+++ /* discard trailing IDATs for the first frame */
+++ if (have_chunk_after_DAT || png_ptr->num_frames_read > 1)
+++ png_error(png_ptr, "png_read_frame_head(): out of place IDAT");
+++ png_crc_finish(png_ptr, length);
+++ }
+++
+++ else if (png_ptr->chunk_name == png_fcTL)
+++ {
+++ png_handle_fcTL(png_ptr, info_ptr, length);
+++ have_chunk_after_DAT = 1;
+++ }
+++
+++ else if (png_ptr->chunk_name == png_fdAT)
+++ {
+++ png_ensure_sequence_number(png_ptr, length);
+++
+++ /* discard trailing fdATs for frames other than the first */
+++ if (!have_chunk_after_DAT && png_ptr->num_frames_read > 1)
+++ png_crc_finish(png_ptr, length - 4);
+++ else if(png_ptr->mode & PNG_HAVE_fcTL)
+++ {
+++ png_ptr->idat_size = length - 4;
+++ png_ptr->mode |= PNG_HAVE_IDAT;
+++
+++ break;
+++ }
+++ else
+++ png_error(png_ptr, "png_read_frame_head(): out of place fdAT");
+++ }
+++ else
+++ {
+++ png_warning(png_ptr, "Skipped (ignored) a chunk "
+++ "between APNG chunks");
+++ png_crc_finish(png_ptr, length);
+++ }
+++ }
+++}
+++#endif /* PNG_READ_APNG_SUPPORTED */
+++
++ /* Optional call to update the users info_ptr structure */
++ void PNGAPI
++ png_read_update_info(png_structrp png_ptr, png_inforp info_ptr)
++diff -Naru libpng-1.6.39.org/pngrutil.c libpng-1.6.39/pngrutil.c
++--- libpng-1.6.39.org/pngrutil.c 2022-11-24 08:37:51.510052177 +0900
+++++ libpng-1.6.39/pngrutil.c 2022-11-24 08:41:17.787489734 +0900
++@@ -864,6 +864,11 @@
++ filter_type = buf[11];
++ interlace_type = buf[12];
++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ png_ptr->first_frame_width = width;
+++ png_ptr->first_frame_height = height;
+++#endif
+++
++ /* Set internal variables */
++ png_ptr->width = width;
++ png_ptr->height = height;
++@@ -2858,6 +2863,179 @@
++ }
++ #endif
++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++void /* PRIVATE */
+++png_handle_acTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+++{
+++ png_byte data[8];
+++ png_uint_32 num_frames;
+++ png_uint_32 num_plays;
+++ png_uint_32 didSet;
+++
+++ png_debug(1, "in png_handle_acTL");
+++
+++ if (!(png_ptr->mode & PNG_HAVE_IHDR))
+++ {
+++ png_error(png_ptr, "Missing IHDR before acTL");
+++ }
+++ else if (png_ptr->mode & PNG_HAVE_IDAT)
+++ {
+++ png_warning(png_ptr, "Invalid acTL after IDAT skipped");
+++ png_crc_finish(png_ptr, length);
+++ return;
+++ }
+++ else if (png_ptr->mode & PNG_HAVE_acTL)
+++ {
+++ png_warning(png_ptr, "Duplicate acTL skipped");
+++ png_crc_finish(png_ptr, length);
+++ return;
+++ }
+++ else if (length != 8)
+++ {
+++ png_warning(png_ptr, "acTL with invalid length skipped");
+++ png_crc_finish(png_ptr, length);
+++ return;
+++ }
+++
+++ png_crc_read(png_ptr, data, 8);
+++ png_crc_finish(png_ptr, 0);
+++
+++ num_frames = png_get_uint_31(png_ptr, data);
+++ num_plays = png_get_uint_31(png_ptr, data + 4);
+++
+++ /* the set function will do error checking on num_frames */
+++ didSet = png_set_acTL(png_ptr, info_ptr, num_frames, num_plays);
+++ if(didSet)
+++ png_ptr->mode |= PNG_HAVE_acTL;
+++}
+++
+++void /* PRIVATE */
+++png_handle_fcTL(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+++{
+++ png_byte data[22];
+++ png_uint_32 width;
+++ png_uint_32 height;
+++ png_uint_32 x_offset;
+++ png_uint_32 y_offset;
+++ png_uint_16 delay_num;
+++ png_uint_16 delay_den;
+++ png_byte dispose_op;
+++ png_byte blend_op;
+++
+++ png_debug(1, "in png_handle_fcTL");
+++
+++ png_ensure_sequence_number(png_ptr, length);
+++
+++ if (!(png_ptr->mode & PNG_HAVE_IHDR))
+++ {
+++ png_error(png_ptr, "Missing IHDR before fcTL");
+++ }
+++ else if (png_ptr->mode & PNG_HAVE_IDAT)
+++ {
+++ /* for any frames other then the first this message may be misleading,
+++ * but correct. PNG_HAVE_IDAT is unset before the frame head is read
+++ * i can't think of a better message */
+++ png_warning(png_ptr, "Invalid fcTL after IDAT skipped");
+++ png_crc_finish(png_ptr, length-4);
+++ return;
+++ }
+++ else if (png_ptr->mode & PNG_HAVE_fcTL)
+++ {
+++ png_warning(png_ptr, "Duplicate fcTL within one frame skipped");
+++ png_crc_finish(png_ptr, length-4);
+++ return;
+++ }
+++ else if (length != 26)
+++ {
+++ png_warning(png_ptr, "fcTL with invalid length skipped");
+++ png_crc_finish(png_ptr, length-4);
+++ return;
+++ }
+++
+++ png_crc_read(png_ptr, data, 22);
+++ png_crc_finish(png_ptr, 0);
+++
+++ width = png_get_uint_31(png_ptr, data);
+++ height = png_get_uint_31(png_ptr, data + 4);
+++ x_offset = png_get_uint_31(png_ptr, data + 8);
+++ y_offset = png_get_uint_31(png_ptr, data + 12);
+++ delay_num = png_get_uint_16(data + 16);
+++ delay_den = png_get_uint_16(data + 18);
+++ dispose_op = data[20];
+++ blend_op = data[21];
+++
+++ if (png_ptr->num_frames_read == 0 && (x_offset != 0 || y_offset != 0))
+++ {
+++ png_warning(png_ptr, "fcTL for the first frame must have zero offset");
+++ return;
+++ }
+++
+++ if (info_ptr != NULL)
+++ {
+++ if (png_ptr->num_frames_read == 0 &&
+++ (width != info_ptr->width || height != info_ptr->height))
+++ {
+++ png_warning(png_ptr, "size in first frame's fcTL must match "
+++ "the size in IHDR");
+++ return;
+++ }
+++
+++ /* The set function will do more error checking */
+++ png_set_next_frame_fcTL(png_ptr, info_ptr, width, height,
+++ x_offset, y_offset, delay_num, delay_den,
+++ dispose_op, blend_op);
+++
+++ png_read_reinit(png_ptr, info_ptr);
+++
+++ png_ptr->mode |= PNG_HAVE_fcTL;
+++ }
+++}
+++
+++void /* PRIVATE */
+++png_have_info(png_structp png_ptr, png_infop info_ptr)
+++{
+++ if((info_ptr->valid & PNG_INFO_acTL) && !(info_ptr->valid & PNG_INFO_fcTL))
+++ {
+++ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN;
+++ info_ptr->num_frames++;
+++ }
+++}
+++
+++void /* PRIVATE */
+++png_handle_fdAT(png_structp png_ptr, png_infop info_ptr, png_uint_32 length)
+++{
+++ png_ensure_sequence_number(png_ptr, length);
+++
+++ /* This function is only called from png_read_end(), png_read_info(),
+++ * and png_push_read_chunk() which means that:
+++ * - the user doesn't want to read this frame
+++ * - or this is an out-of-place fdAT
+++ * in either case it is safe to ignore the chunk with a warning */
+++ png_warning(png_ptr, "ignoring fdAT chunk");
+++ png_crc_finish(png_ptr, length - 4);
+++ PNG_UNUSED(info_ptr)
+++}
+++
+++void /* PRIVATE */
+++png_ensure_sequence_number(png_structp png_ptr, png_uint_32 length)
+++{
+++ png_byte data[4];
+++ png_uint_32 sequence_number;
+++
+++ if (length < 4)
+++ png_error(png_ptr, "invalid fcTL or fdAT chunk found");
+++
+++ png_crc_read(png_ptr, data, 4);
+++ sequence_number = png_get_uint_31(png_ptr, data);
+++
+++ if (sequence_number != png_ptr->next_seq_num)
+++ png_error(png_ptr, "fcTL or fdAT chunk with out-of-order sequence "
+++ "number found");
+++
+++ png_ptr->next_seq_num++;
+++}
+++#endif /* PNG_READ_APNG_SUPPORTED */
+++
++ #ifdef PNG_READ_UNKNOWN_CHUNKS_SUPPORTED
++ /* Utility function for png_handle_unknown; set up png_ptr::unknown_chunk */
++ static int
++@@ -4166,7 +4344,38 @@
++ {
++ uInt avail_in;
++ png_bytep buffer;
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ png_uint_32 bytes_to_skip = 0;
+++
+++ while (png_ptr->idat_size == 0 || bytes_to_skip != 0)
+++ {
+++ png_crc_finish(png_ptr, bytes_to_skip);
+++ bytes_to_skip = 0;
++
+++ png_ptr->idat_size = png_read_chunk_header(png_ptr);
+++ if (png_ptr->num_frames_read == 0)
+++ {
+++ if (png_ptr->chunk_name != png_IDAT)
+++ png_error(png_ptr, "Not enough image data");
+++ }
+++ else
+++ {
+++ if (png_ptr->chunk_name == png_IEND)
+++ png_error(png_ptr, "Not enough image data");
+++ if (png_ptr->chunk_name != png_fdAT)
+++ {
+++ png_warning(png_ptr, "Skipped (ignored) a chunk "
+++ "between APNG chunks");
+++ bytes_to_skip = png_ptr->idat_size;
+++ continue;
+++ }
+++
+++ png_ensure_sequence_number(png_ptr, png_ptr->idat_size);
+++
+++ png_ptr->idat_size -= 4;
+++ }
+++ }
+++#else
++ while (png_ptr->idat_size == 0)
++ {
++ png_crc_finish(png_ptr, 0);
++@@ -4178,7 +4387,7 @@
++ if (png_ptr->chunk_name != png_IDAT)
++ png_error(png_ptr, "Not enough image data");
++ }
++-
+++#endif /* PNG_READ_APNG_SUPPORTED */
++ avail_in = png_ptr->IDAT_read_size;
++
++ if (avail_in > png_ptr->idat_size)
++@@ -4241,6 +4450,9 @@
++
++ png_ptr->mode |= PNG_AFTER_IDAT;
++ png_ptr->flags |= PNG_FLAG_ZSTREAM_ENDED;
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ png_ptr->num_frames_read++;
+++#endif
++
++ if (png_ptr->zstream.avail_in > 0 || png_ptr->idat_size > 0)
++ png_chunk_benign_error(png_ptr, "Extra compressed data");
++@@ -4678,4 +4890,80 @@
++
++ png_ptr->flags |= PNG_FLAG_ROW_INIT;
++ }
+++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++/* This function is to be called after the main IDAT set has been read and
+++ * before a new IDAT is read. It resets some parts of png_ptr
+++ * to make them usable by the read functions again */
+++void /* PRIVATE */
+++png_read_reset(png_structp png_ptr)
+++{
+++ png_ptr->mode &= ~PNG_HAVE_IDAT;
+++ png_ptr->mode &= ~PNG_AFTER_IDAT;
+++ png_ptr->row_number = 0;
+++ png_ptr->pass = 0;
+++}
+++
+++void /* PRIVATE */
+++png_read_reinit(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_ptr->width = info_ptr->next_frame_width;
+++ png_ptr->height = info_ptr->next_frame_height;
+++ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth,png_ptr->width);
+++ png_ptr->info_rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth,
+++ png_ptr->width);
+++ if (png_ptr->prev_row)
+++ memset(png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
+++}
+++
+++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
+++/* same as png_read_reset() but for the progressive reader */
+++void /* PRIVATE */
+++png_progressive_read_reset(png_structp png_ptr)
+++{
+++#ifdef PNG_READ_INTERLACING_SUPPORTED
+++ /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
+++
+++ /* Start of interlace block */
+++ const int png_pass_start[] = {0, 4, 0, 2, 0, 1, 0};
+++
+++ /* Offset to next interlace block */
+++ const int png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1};
+++
+++ /* Start of interlace block in the y direction */
+++ const int png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1};
+++
+++ /* Offset to next interlace block in the y direction */
+++ const int png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
+++
+++ if (png_ptr->interlaced)
+++ {
+++ if (!(png_ptr->transformations & PNG_INTERLACE))
+++ png_ptr->num_rows = (png_ptr->height + png_pass_yinc[0] - 1 -
+++ png_pass_ystart[0]) / png_pass_yinc[0];
+++ else
+++ png_ptr->num_rows = png_ptr->height;
+++
+++ png_ptr->iwidth = (png_ptr->width +
+++ png_pass_inc[png_ptr->pass] - 1 -
+++ png_pass_start[png_ptr->pass]) /
+++ png_pass_inc[png_ptr->pass];
+++ }
+++ else
+++#endif /* PNG_READ_INTERLACING_SUPPORTED */
+++ {
+++ png_ptr->num_rows = png_ptr->height;
+++ png_ptr->iwidth = png_ptr->width;
+++ }
+++ png_ptr->flags &= ~PNG_FLAG_ZSTREAM_ENDED;
+++ if (inflateReset(&(png_ptr->zstream)) != Z_OK)
+++ png_error(png_ptr, "inflateReset failed");
+++ png_ptr->zstream.avail_in = 0;
+++ png_ptr->zstream.next_in = 0;
+++ png_ptr->zstream.next_out = png_ptr->row_buf;
+++ png_ptr->zstream.avail_out = (uInt)PNG_ROWBYTES(png_ptr->pixel_depth,
+++ png_ptr->iwidth) + 1;
+++}
+++#endif /* PNG_PROGRESSIVE_READ_SUPPORTED */
+++#endif /* PNG_READ_APNG_SUPPORTED */
++ #endif /* READ */
++diff -Naru libpng-1.6.39.org/pngset.c libpng-1.6.39/pngset.c
++--- libpng-1.6.39.org/pngset.c 2022-11-24 08:37:51.510052177 +0900
+++++ libpng-1.6.39/pngset.c 2022-11-24 08:41:17.787489734 +0900
++@@ -288,6 +288,11 @@
++ info_ptr->pixel_depth = (png_byte)(info_ptr->channels * info_ptr->bit_depth);
++
++ info_ptr->rowbytes = PNG_ROWBYTES(info_ptr->pixel_depth, width);
+++
+++#ifdef PNG_APNG_SUPPORTED
+++ /* for non-animated png. this may be overwritten from an acTL chunk later */
+++ info_ptr->num_frames = 1;
+++#endif
++ }
++
++ #ifdef PNG_oFFs_SUPPORTED
++@@ -1161,6 +1166,147 @@
++ }
++ #endif /* sPLT */
++
+++#ifdef PNG_APNG_SUPPORTED
+++png_uint_32 PNGAPI
+++png_set_acTL(png_structp png_ptr, png_infop info_ptr,
+++ png_uint_32 num_frames, png_uint_32 num_plays)
+++{
+++ png_debug1(1, "in %s storage function", "acTL");
+++
+++ if (png_ptr == NULL || info_ptr == NULL)
+++ {
+++ png_warning(png_ptr,
+++ "Call to png_set_acTL() with NULL png_ptr "
+++ "or info_ptr ignored");
+++ return (0);
+++ }
+++ if (num_frames == 0)
+++ {
+++ png_warning(png_ptr,
+++ "Ignoring attempt to set acTL with num_frames zero");
+++ return (0);
+++ }
+++ if (num_frames > PNG_UINT_31_MAX)
+++ {
+++ png_warning(png_ptr,
+++ "Ignoring attempt to set acTL with num_frames > 2^31-1");
+++ return (0);
+++ }
+++ if (num_plays > PNG_UINT_31_MAX)
+++ {
+++ png_warning(png_ptr,
+++ "Ignoring attempt to set acTL with num_plays "
+++ "> 2^31-1");
+++ return (0);
+++ }
+++
+++ info_ptr->num_frames = num_frames;
+++ info_ptr->num_plays = num_plays;
+++
+++ info_ptr->valid |= PNG_INFO_acTL;
+++
+++ return (1);
+++}
+++
+++/* delay_num and delay_den can hold any 16-bit values including zero */
+++png_uint_32 PNGAPI
+++png_set_next_frame_fcTL(png_structp png_ptr, png_infop info_ptr,
+++ png_uint_32 width, png_uint_32 height,
+++ png_uint_32 x_offset, png_uint_32 y_offset,
+++ png_uint_16 delay_num, png_uint_16 delay_den,
+++ png_byte dispose_op, png_byte blend_op)
+++{
+++ png_debug1(1, "in %s storage function", "fcTL");
+++
+++ if (png_ptr == NULL || info_ptr == NULL)
+++ {
+++ png_warning(png_ptr,
+++ "Call to png_set_fcTL() with NULL png_ptr or info_ptr "
+++ "ignored");
+++ return (0);
+++ }
+++
+++ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset,
+++ delay_num, delay_den, dispose_op, blend_op);
+++
+++ if (blend_op == PNG_BLEND_OP_OVER)
+++ {
+++ if (!(png_ptr->color_type & PNG_COLOR_MASK_ALPHA) &&
+++ !(png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)))
+++ {
+++ png_warning(png_ptr, "PNG_BLEND_OP_OVER is meaningless "
+++ "and wasteful for opaque images, ignored");
+++ blend_op = PNG_BLEND_OP_SOURCE;
+++ }
+++ }
+++
+++ info_ptr->next_frame_width = width;
+++ info_ptr->next_frame_height = height;
+++ info_ptr->next_frame_x_offset = x_offset;
+++ info_ptr->next_frame_y_offset = y_offset;
+++ info_ptr->next_frame_delay_num = delay_num;
+++ info_ptr->next_frame_delay_den = delay_den;
+++ info_ptr->next_frame_dispose_op = dispose_op;
+++ info_ptr->next_frame_blend_op = blend_op;
+++
+++ info_ptr->valid |= PNG_INFO_fcTL;
+++
+++ return (1);
+++}
+++
+++void /* PRIVATE */
+++png_ensure_fcTL_is_valid(png_structp png_ptr,
+++ png_uint_32 width, png_uint_32 height,
+++ png_uint_32 x_offset, png_uint_32 y_offset,
+++ png_uint_16 delay_num, png_uint_16 delay_den,
+++ png_byte dispose_op, png_byte blend_op)
+++{
+++ if (width == 0 || width > PNG_UINT_31_MAX)
+++ png_error(png_ptr, "invalid width in fcTL (> 2^31-1)");
+++ if (height == 0 || height > PNG_UINT_31_MAX)
+++ png_error(png_ptr, "invalid height in fcTL (> 2^31-1)");
+++ if (x_offset > PNG_UINT_31_MAX)
+++ png_error(png_ptr, "invalid x_offset in fcTL (> 2^31-1)");
+++ if (y_offset > PNG_UINT_31_MAX)
+++ png_error(png_ptr, "invalid y_offset in fcTL (> 2^31-1)");
+++ if (width + x_offset > png_ptr->first_frame_width ||
+++ height + y_offset > png_ptr->first_frame_height)
+++ png_error(png_ptr, "dimensions of a frame are greater than"
+++ "the ones in IHDR");
+++
+++ if (dispose_op != PNG_DISPOSE_OP_NONE &&
+++ dispose_op != PNG_DISPOSE_OP_BACKGROUND &&
+++ dispose_op != PNG_DISPOSE_OP_PREVIOUS)
+++ png_error(png_ptr, "invalid dispose_op in fcTL");
+++
+++ if (blend_op != PNG_BLEND_OP_SOURCE &&
+++ blend_op != PNG_BLEND_OP_OVER)
+++ png_error(png_ptr, "invalid blend_op in fcTL");
+++
+++ PNG_UNUSED(delay_num)
+++ PNG_UNUSED(delay_den)
+++}
+++
+++png_uint_32 PNGAPI
+++png_set_first_frame_is_hidden(png_structp png_ptr, png_infop info_ptr,
+++ png_byte is_hidden)
+++{
+++ png_debug(1, "in png_first_frame_is_hidden()");
+++
+++ if (png_ptr == NULL)
+++ return 0;
+++
+++ if (is_hidden)
+++ png_ptr->apng_flags |= PNG_FIRST_FRAME_HIDDEN;
+++ else
+++ png_ptr->apng_flags &= ~PNG_FIRST_FRAME_HIDDEN;
+++
+++ PNG_UNUSED(info_ptr)
+++
+++ return 1;
+++}
+++#endif /* PNG_APNG_SUPPORTED */
+++
++ #ifdef PNG_STORE_UNKNOWN_CHUNKS_SUPPORTED
++ static png_byte
++ check_location(png_const_structrp png_ptr, int location)
++diff -Naru libpng-1.6.39.org/pngstruct.h libpng-1.6.39/pngstruct.h
++--- libpng-1.6.39.org/pngstruct.h 2022-11-24 08:37:51.510052177 +0900
+++++ libpng-1.6.39/pngstruct.h 2022-11-24 08:41:17.787489734 +0900
++@@ -399,6 +399,27 @@
++ png_byte filter_type;
++ #endif
++
+++#ifdef PNG_APNG_SUPPORTED
+++ png_uint_32 apng_flags;
+++ png_uint_32 next_seq_num; /* next fcTL/fdAT chunk sequence number */
+++ png_uint_32 first_frame_width;
+++ png_uint_32 first_frame_height;
+++
+++#ifdef PNG_READ_APNG_SUPPORTED
+++ png_uint_32 num_frames_read; /* incremented after all image data of */
+++ /* a frame is read */
+++#ifdef PNG_PROGRESSIVE_READ_SUPPORTED
+++ png_progressive_frame_ptr frame_info_fn; /* frame info read callback */
+++ png_progressive_frame_ptr frame_end_fn; /* frame data read callback */
+++#endif
+++#endif
+++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++ png_uint_32 num_frames_to_write;
+++ png_uint_32 num_frames_written;
+++#endif
+++#endif /* PNG_APNG_SUPPORTED */
+++
++ /* New members added in libpng-1.2.0 */
++
++ /* New members added in libpng-1.0.2 but first enabled by default in 1.2.0 */
++diff -Naru libpng-1.6.39.org/pngtest.c libpng-1.6.39/pngtest.c
++--- libpng-1.6.39.org/pngtest.c 2022-11-24 08:37:51.510052177 +0900
+++++ libpng-1.6.39/pngtest.c 2022-11-24 08:41:17.787489734 +0900
++@@ -875,6 +875,10 @@
++ volatile int num_passes;
++ int pass;
++ int bit_depth, color_type;
+++#ifdef PNG_APNG_SUPPORTED
+++ png_uint_32 num_frames;
+++ png_uint_32 num_plays;
+++#endif
++
++ row_buf = NULL;
++ error_parameters.file_name = inname;
++@@ -1383,6 +1387,22 @@
++ }
++ }
++ #endif
+++
+++#ifdef PNG_APNG_SUPPORTED
+++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL))
+++ {
+++ if (png_get_acTL(read_ptr, read_info_ptr, &num_frames, &num_plays))
+++ {
+++ png_byte is_hidden;
+++ pngtest_debug2("Handling acTL chunks (frames %ld, plays %ld)",
+++ num_frames, num_plays);
+++ png_set_acTL(write_ptr, write_info_ptr, num_frames, num_plays);
+++ is_hidden = png_get_first_frame_is_hidden(read_ptr, read_info_ptr);
+++ png_set_first_frame_is_hidden(write_ptr, write_info_ptr, is_hidden);
+++ }
+++ }
+++#endif
+++
++ #ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
++ {
++ png_unknown_chunkp unknowns;
++@@ -1463,6 +1483,110 @@
++ t_misc += (t_stop - t_start);
++ t_start = t_stop;
++ #endif
+++#ifdef PNG_APNG_SUPPORTED
+++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_acTL))
+++ {
+++ png_uint_32 frame;
+++ for (frame = 0; frame < num_frames; frame++)
+++ {
+++ png_uint_32 frame_width;
+++ png_uint_32 frame_height;
+++ png_uint_32 x_offset;
+++ png_uint_32 y_offset;
+++ png_uint_16 delay_num;
+++ png_uint_16 delay_den;
+++ png_byte dispose_op;
+++ png_byte blend_op;
+++ png_read_frame_head(read_ptr, read_info_ptr);
+++ if (png_get_valid(read_ptr, read_info_ptr, PNG_INFO_fcTL))
+++ {
+++ png_get_next_frame_fcTL(read_ptr, read_info_ptr,
+++ &frame_width, &frame_height,
+++ &x_offset, &y_offset,
+++ &delay_num, &delay_den,
+++ &dispose_op, &blend_op);
+++ }
+++ else
+++ {
+++ frame_width = width;
+++ frame_height = height;
+++ x_offset = 0;
+++ y_offset = 0;
+++ delay_num = 1;
+++ delay_den = 1;
+++ dispose_op = PNG_DISPOSE_OP_NONE;
+++ blend_op = PNG_BLEND_OP_SOURCE;
+++ }
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++ png_write_frame_head(write_ptr, write_info_ptr, (png_bytepp)&row_buf,
+++ frame_width, frame_height,
+++ x_offset, y_offset,
+++ delay_num, delay_den,
+++ dispose_op, blend_op);
+++#endif
+++ for (pass = 0; pass < num_passes; pass++)
+++ {
+++# ifdef calc_pass_height
+++ png_uint_32 pass_height;
+++
+++ if (num_passes == 7) /* interlaced */
+++ {
+++ if (PNG_PASS_COLS(frame_width, pass) > 0)
+++ pass_height = PNG_PASS_ROWS(frame_height, pass);
+++
+++ else
+++ pass_height = 0;
+++ }
+++
+++ else /* not interlaced */
+++ pass_height = frame_height;
+++# else
+++# define pass_height frame_height
+++# endif
+++
+++ pngtest_debug1("Writing row data for pass %d", pass);
+++ for (y = 0; y < pass_height; y++)
+++ {
+++#ifndef SINGLE_ROWBUF_ALLOC
+++ pngtest_debug2("Allocating row buffer (pass %d, y = %u)...", pass, y);
+++
+++ row_buf = (png_bytep)png_malloc(read_ptr,
+++ png_get_rowbytes(read_ptr, read_info_ptr));
+++
+++ pngtest_debug2("\t0x%08lx (%lu bytes)", (unsigned long)row_buf,
+++ (unsigned long)png_get_rowbytes(read_ptr, read_info_ptr));
+++
+++#endif /* !SINGLE_ROWBUF_ALLOC */
+++ png_read_rows(read_ptr, (png_bytepp)&row_buf, NULL, 1);
+++
+++#ifdef PNG_WRITE_SUPPORTED
+++#ifdef PNGTEST_TIMING
+++ t_stop = (float)clock();
+++ t_decode += (t_stop - t_start);
+++ t_start = t_stop;
+++#endif
+++ png_write_rows(write_ptr, (png_bytepp)&row_buf, 1);
+++#ifdef PNGTEST_TIMING
+++ t_stop = (float)clock();
+++ t_encode += (t_stop - t_start);
+++ t_start = t_stop;
+++#endif
+++#endif /* PNG_WRITE_SUPPORTED */
+++
+++#ifndef SINGLE_ROWBUF_ALLOC
+++ pngtest_debug2("Freeing row buffer (pass %d, y = %u)", pass, y);
+++ png_free(read_ptr, row_buf);
+++ row_buf = NULL;
+++#endif /* !SINGLE_ROWBUF_ALLOC */
+++ }
+++ }
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++ png_write_frame_tail(write_ptr, write_info_ptr);
+++#endif
+++ }
+++ }
+++ else
+++#endif
++ for (pass = 0; pass < num_passes; pass++)
++ {
++ # ifdef calc_pass_height
++diff -Naru libpng-1.6.39.org/pngwrite.c libpng-1.6.39/pngwrite.c
++--- libpng-1.6.39.org/pngwrite.c 2022-11-24 08:37:51.511052176 +0900
+++++ libpng-1.6.39/pngwrite.c 2022-11-24 08:41:17.787489734 +0900
++@@ -128,6 +128,10 @@
++ * the application continues writing the PNG. So check the 'invalid'
++ * flag here too.
++ */
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++ if (info_ptr->valid & PNG_INFO_acTL)
+++ png_write_acTL(png_ptr, info_ptr->num_frames, info_ptr->num_plays);
+++#endif
++ #ifdef PNG_GAMMA_SUPPORTED
++ # ifdef PNG_WRITE_gAMA_SUPPORTED
++ if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 &&
++@@ -370,6 +374,11 @@
++ png_benign_error(png_ptr, "Wrote palette index exceeding num_palette");
++ #endif
++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++ if (png_ptr->num_frames_written != png_ptr->num_frames_to_write)
+++ png_error(png_ptr, "Not enough frames written");
+++#endif
+++
++ /* See if user wants us to write information chunks */
++ if (info_ptr != NULL)
++ {
++@@ -1471,6 +1480,43 @@
++ }
++ #endif
++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++void PNGAPI
+++png_write_frame_head(png_structp png_ptr, png_infop info_ptr,
+++ png_bytepp row_pointers, png_uint_32 width, png_uint_32 height,
+++ png_uint_32 x_offset, png_uint_32 y_offset,
+++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
+++ png_byte blend_op)
+++{
+++ png_debug(1, "in png_write_frame_head");
+++
+++ /* there is a chance this has been set after png_write_info was called,
+++ * so it would be set but not written. is there a way to be sure? */
+++ if (!(info_ptr->valid & PNG_INFO_acTL))
+++ png_error(png_ptr, "png_write_frame_head(): acTL not set");
+++
+++ png_write_reset(png_ptr);
+++
+++ png_write_reinit(png_ptr, info_ptr, width, height);
+++
+++ if ( !(png_ptr->num_frames_written == 0 &&
+++ (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN) ) )
+++ png_write_fcTL(png_ptr, width, height, x_offset, y_offset,
+++ delay_num, delay_den, dispose_op, blend_op);
+++
+++ PNG_UNUSED(row_pointers)
+++}
+++
+++void PNGAPI
+++png_write_frame_tail(png_structp png_ptr, png_infop info_ptr)
+++{
+++ png_debug(1, "in png_write_frame_tail");
+++
+++ png_ptr->num_frames_written++;
+++
+++ PNG_UNUSED(info_ptr)
+++}
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
++
++ #ifdef PNG_SIMPLIFIED_WRITE_SUPPORTED
++ /* Initialize the write structure - general purpose utility. */
++diff -Naru libpng-1.6.39.org/pngwutil.c libpng-1.6.39/pngwutil.c
++--- libpng-1.6.39.org/pngwutil.c 2022-11-24 08:37:51.511052176 +0900
+++++ libpng-1.6.39/pngwutil.c 2022-11-24 08:41:17.788489731 +0900
++@@ -821,6 +821,11 @@
++ /* Write the chunk */
++ png_write_complete_chunk(png_ptr, png_IHDR, buf, 13);
++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++ png_ptr->first_frame_width = width;
+++ png_ptr->first_frame_height = height;
+++#endif
+++
++ if ((png_ptr->do_filter) == PNG_NO_FILTERS)
++ {
++ if (png_ptr->color_type == PNG_COLOR_TYPE_PALETTE ||
++@@ -1002,8 +1007,17 @@
++ optimize_cmf(data, png_image_size(png_ptr));
++ #endif
++
++- if (size > 0)
++- png_write_complete_chunk(png_ptr, png_IDAT, data, size);
+++ if (size > 0)
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++ {
+++ if (png_ptr->num_frames_written == 0)
+++#endif
+++ png_write_complete_chunk(png_ptr, png_IDAT, data, size);
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++ else
+++ png_write_fdAT(png_ptr, data, size);
+++ }
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
++ png_ptr->mode |= PNG_HAVE_IDAT;
++
++ png_ptr->zstream.next_out = data;
++@@ -1050,7 +1064,17 @@
++ #endif
++
++ if (size > 0)
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++ {
+++ if (png_ptr->num_frames_written == 0)
+++#endif
++ png_write_complete_chunk(png_ptr, png_IDAT, data, size);
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++ else
+++ png_write_fdAT(png_ptr, data, size);
+++ }
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
+++
++ png_ptr->zstream.avail_out = 0;
++ png_ptr->zstream.next_out = NULL;
++ png_ptr->mode |= PNG_HAVE_IDAT | PNG_AFTER_IDAT;
++@@ -1885,6 +1909,82 @@
++ }
++ #endif
++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++void /* PRIVATE */
+++png_write_acTL(png_structp png_ptr,
+++ png_uint_32 num_frames, png_uint_32 num_plays)
+++{
+++ png_byte buf[8];
+++
+++ png_debug(1, "in png_write_acTL");
+++
+++ png_ptr->num_frames_to_write = num_frames;
+++
+++ if (png_ptr->apng_flags & PNG_FIRST_FRAME_HIDDEN)
+++ num_frames--;
+++
+++ png_save_uint_32(buf, num_frames);
+++ png_save_uint_32(buf + 4, num_plays);
+++
+++ png_write_complete_chunk(png_ptr, png_acTL, buf, (png_size_t)8);
+++}
+++
+++void /* PRIVATE */
+++png_write_fcTL(png_structp png_ptr, png_uint_32 width, png_uint_32 height,
+++ png_uint_32 x_offset, png_uint_32 y_offset,
+++ png_uint_16 delay_num, png_uint_16 delay_den, png_byte dispose_op,
+++ png_byte blend_op)
+++{
+++ png_byte buf[26];
+++
+++ png_debug(1, "in png_write_fcTL");
+++
+++ if (png_ptr->num_frames_written == 0 && (x_offset != 0 || y_offset != 0))
+++ png_error(png_ptr, "x and/or y offset for the first frame aren't 0");
+++ if (png_ptr->num_frames_written == 0 &&
+++ (width != png_ptr->first_frame_width ||
+++ height != png_ptr->first_frame_height))
+++ png_error(png_ptr, "width and/or height in the first frame's fcTL "
+++ "don't match the ones in IHDR");
+++
+++ /* more error checking */
+++ png_ensure_fcTL_is_valid(png_ptr, width, height, x_offset, y_offset,
+++ delay_num, delay_den, dispose_op, blend_op);
+++
+++ png_save_uint_32(buf, png_ptr->next_seq_num);
+++ png_save_uint_32(buf + 4, width);
+++ png_save_uint_32(buf + 8, height);
+++ png_save_uint_32(buf + 12, x_offset);
+++ png_save_uint_32(buf + 16, y_offset);
+++ png_save_uint_16(buf + 20, delay_num);
+++ png_save_uint_16(buf + 22, delay_den);
+++ buf[24] = dispose_op;
+++ buf[25] = blend_op;
+++
+++ png_write_complete_chunk(png_ptr, png_fcTL, buf, (png_size_t)26);
+++
+++ png_ptr->next_seq_num++;
+++}
+++
+++void /* PRIVATE */
+++png_write_fdAT(png_structp png_ptr,
+++ png_const_bytep data, png_size_t length)
+++{
+++ png_byte buf[4];
+++
+++ png_write_chunk_header(png_ptr, png_fdAT, (png_uint_32)(4 + length));
+++
+++ png_save_uint_32(buf, png_ptr->next_seq_num);
+++ png_write_chunk_data(png_ptr, buf, 4);
+++
+++ png_write_chunk_data(png_ptr, data, length);
+++
+++ png_write_chunk_end(png_ptr);
+++
+++ png_ptr->next_seq_num++;
+++}
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
+++
++ /* Initializes the row writing capability of libpng */
++ void /* PRIVATE */
++ png_write_start_row(png_structrp png_ptr)
++@@ -2778,4 +2878,39 @@
++ }
++ #endif /* WRITE_FLUSH */
++ }
+++
+++#ifdef PNG_WRITE_APNG_SUPPORTED
+++void /* PRIVATE */
+++png_write_reset(png_structp png_ptr)
+++{
+++ png_ptr->row_number = 0;
+++ png_ptr->pass = 0;
+++ png_ptr->mode &= ~PNG_HAVE_IDAT;
+++}
+++
+++void /* PRIVATE */
+++png_write_reinit(png_structp png_ptr, png_infop info_ptr,
+++ png_uint_32 width, png_uint_32 height)
+++{
+++ if (png_ptr->num_frames_written == 0 &&
+++ (width != png_ptr->first_frame_width ||
+++ height != png_ptr->first_frame_height))
+++ png_error(png_ptr, "width and/or height in the first frame's fcTL "
+++ "don't match the ones in IHDR");
+++ if (width > png_ptr->first_frame_width ||
+++ height > png_ptr->first_frame_height)
+++ png_error(png_ptr, "width and/or height for a frame greater than"
+++ "the ones in IHDR");
+++
+++ png_set_IHDR(png_ptr, info_ptr, width, height,
+++ info_ptr->bit_depth, info_ptr->color_type,
+++ info_ptr->interlace_type, info_ptr->compression_type,
+++ info_ptr->filter_type);
+++
+++ png_ptr->width = width;
+++ png_ptr->height = height;
+++ png_ptr->rowbytes = PNG_ROWBYTES(png_ptr->pixel_depth, width);
+++ png_ptr->usr_width = png_ptr->width;
+++}
+++#endif /* PNG_WRITE_APNG_SUPPORTED */
++ #endif /* WRITE */
++diff -Naru libpng-1.6.39.org/scripts/symbols.def libpng-1.6.39/scripts/symbols.def
++--- libpng-1.6.39.org/scripts/symbols.def 2022-11-24 08:37:51.515052168 +0900
+++++ libpng-1.6.39/scripts/symbols.def 2022-11-24 08:41:17.788489731 +0900
++@@ -253,3 +253,23 @@
++ png_set_eXIf @247
++ png_get_eXIf_1 @248
++ png_set_eXIf_1 @249
+++ png_get_acTL @250
+++ png_set_acTL @251
+++ png_get_num_frames @252
+++ png_get_num_plays @253
+++ png_get_next_frame_fcTL @254
+++ png_set_next_frame_fcTL @255
+++ png_get_next_frame_width @256
+++ png_get_next_frame_height @257
+++ png_get_next_frame_x_offset @258
+++ png_get_next_frame_y_offset @259
+++ png_get_next_frame_delay_num @260
+++ png_get_next_frame_delay_den @261
+++ png_get_next_frame_dispose_op @262
+++ png_get_next_frame_blend_op @263
+++ png_get_first_frame_is_hidden @264
+++ png_set_first_frame_is_hidden @265
+++ png_read_frame_head @266
+++ png_set_progressive_frame_fn @267
+++ png_write_frame_head @268
+++ png_write_frame_tail @269
--- /dev/null
--- /dev/null
++Description: this patch is needed to strip arch-dep bits and get a multiarch -dev package.
++Index: libpng1.6-1.6.21/scripts/libpng-config-body.in
++===================================================================
++--- libpng1.6-1.6.21.orig/scripts/libpng-config-body.in
+++++ libpng1.6-1.6.21/scripts/libpng-config-body.in
++@@ -6,7 +6,7 @@
++ Known values for OPTION are:
++
++ --prefix print libpng prefix
++- --libdir print path to directory containing library
+++ --libdir print path to directory containing library (disabled in Debian/Ubuntu)
++ --libs print library linking information
++ --ccopts print compiler options
++ --cppflags print pre-processor flags
++@@ -57,6 +57,8 @@
++ ;;
++
++ --libdir)
+++ echo >&1 "$(basename $0): --libdir option is disabled in Debian/Ubuntu"
+++ exit 1
++ echo ${libdir}
++ ;;
++
++Index: libpng1.6-1.6.21/libpng-config.in
++===================================================================
++--- libpng1.6-1.6.21.orig/libpng-config.in
+++++ libpng1.6-1.6.21/libpng-config.in
++@@ -14,12 +14,13 @@
++ version="@PNGLIB_VERSION@"
++ prefix="@prefix@"
++ exec_prefix="@exec_prefix@"
++-libdir="@libdir@"
+++# we disable that to make the -dev package Multi-Arch: same
+++libdir=
++ includedir="@includedir@/libpng@PNGLIB_MAJOR@@PNGLIB_MINOR@"
++ libs="-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@"
++ all_libs="-lpng@PNGLIB_MAJOR@@PNGLIB_MINOR@ @LIBS@"
++ I_opts="-I${includedir}"
++-L_opts="-L${libdir}"
+++L_opts=
++ R_opts=""
++ cppflags=""
++ ccopts=""
++@@ -33,7 +34,7 @@
++ Known values for OPTION are:
++
++ --prefix print libpng prefix
++- --libdir print path to directory containing library
+++ --libdir print path to directory containing library (disabled in Debian/Ubuntu)
++ --libs print library linking information
++ --ccopts print compiler options
++ --cppflags print pre-processor flags
++@@ -84,6 +85,8 @@
++ ;;
++
++ --libdir)
+++ echo >&1 "$(basename $0): --libdir option is disabled in Debian/Ubuntu"
+++ exit 1
++ echo ${libdir}
++ ;;
++
--- /dev/null
--- /dev/null
++libpng-config.patch
++#libpng-1.6.39-apng.patch
--- /dev/null
--- /dev/null
++#!/usr/bin/make -f
++# -*- makefile -*-
++
++# Uncomment this to turn on verbose mode.
++# export DH_VERBOSE=1
++
++export DEB_BUILD_MAINT_OPTIONS := hardening=+all
++export DEB_CFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS)
++export DEB_CXXFLAGS_MAINT_APPEND := $(shell dpkg-buildflags --get CPPFLAGS)
++export DPKG_GENSYMBOLS_CHECK_LEVEL = 4
++CC?=gcc
++
++%:
++ dh $@ --buildsystem=cmake
++
++include /usr/share/dpkg/architecture.mk
++
++ifneq (,$(filter $(DEB_HOST_ARCH_CPU),powerpc ppc64))
++# VSX is an extension of AltiVec, which is not part of the baseline.
++# see https://wiki.debian.org/ArchitectureSpecificsMemo
++override_dh_auto_configure:
++ dh_auto_configure -- -DPNG_POWERPC_VSX=off
++endif
++
++override_dh_auto_test:
++ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
++ dh_auto_test
++ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
++ $(CC) $(CFLAGS) $(CPPFLAGS) -Wall -g -O2 -c -o pngtest.o pngtest.c -I obj-$(DEB_HOST_GNU_TYPE)
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o pngtest-static -Wall -g -O2 pngtest.o obj-$(DEB_HOST_GNU_TYPE)/libpng16.a -lz -lm
++ ./pngtest-static
++endif
++endif
++
++override_dh_makeshlibs:
++ dh_makeshlibs --add-udeb=libpng16-16-udeb -a
--- /dev/null
--- /dev/null
++---
++include:
++ - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/recipes/debian.yml
--- /dev/null
--- /dev/null
++3.0 (quilt)
--- /dev/null
--- /dev/null
++Bug-Database: https://github.com/pnggroup/libpng/issues
++Bug-Submit: https://github.com/pnggroup/libpng/issues/new
++Repository: https://github.com/pnggroup/libpng.git
++Repository-Browse: https://github.com/pnggroup/libpng
--- /dev/null
--- /dev/null
++# qa.debian.org runs a redirector which allows a simpler form of URL
++# for SourceForge based projects. The format below will automatically
++# be rewritten to use the redirector.
++#opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha)\d*)$/$1~$2/;s/_/./g;s/^(\S+-x86\.64)/0.0.$1/;s/^(\S+-i586)/0.0.$1/,pgpsigurlmangle=s/$/.asc/ \
++# http://www.libpng.org/pub/png/libpng.html .*/libpng-(\d\S+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
++#http://sf.net/libpng/libpng-(\d\S+)\.(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))
++#
++version=4
++opts=filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/libpng-$1\.tar\.gz/ \
++ https://github.com/pnggroup/libpng/tags .*/v?(\d\S+)\.tar\.gz